diff options
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Move.hs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Command/Move.hs b/Command/Move.hs index dc501ae0f..7d11b5abd 100644 --- a/Command/Move.hs +++ b/Command/Move.hs @@ -133,11 +133,14 @@ fromStart src move afile key next $ fromPerform src move key afile fromOk :: Remote -> Key -> Annex Bool -fromOk src key - | Remote.hasKeyCheap src = - either (const expensive) return =<< Remote.hasKey src key - | otherwise = expensive +fromOk src key = go =<< Annex.getState Annex.force where + go True = either (const $ return True) return =<< haskey + go False + | Remote.hasKeyCheap src = + either (const expensive) return =<< haskey + | otherwise = expensive + haskey = Remote.hasKey src key expensive = do u <- getUUID remotes <- Remote.keyPossibilities key |