aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-01 12:34:06 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-01 12:34:06 -0400
commited7fc4fce919af6b10a4ab098f72862060ed750f (patch)
treeb52f0846935cc3887f4a916f39e1651521d34d86
parenta6af9f153058b37b3ec68c45bf23054363d8dea2 (diff)
Bugfix: copy --to --fast never really copied, fixed.
-rw-r--r--Command/Move.hs6
-rw-r--r--debian/changelog1
2 files changed, 5 insertions, 2 deletions
diff --git a/Command/Move.hs b/Command/Move.hs
index 3ac5a7ab2..951695d66 100644
--- a/Command/Move.hs
+++ b/Command/Move.hs
@@ -89,8 +89,10 @@ toPerform dest move key = do
-- and an explicit check is not done, when copying. When moving,
-- it has to be done, to avoid inaverdent data loss.
fast <- Annex.getState Annex.fast
- isthere <- if fast && not move
- then return $ Right True
+ isthere <- if fast && not move && not (Remote.hasKeyCheap dest)
+ then do
+ (remotes, _) <- Remote.keyPossibilities key
+ return $ Right $ dest `elem` remotes
else Remote.hasKey dest key
case isthere of
Left err -> do
diff --git a/debian/changelog b/debian/changelog
index 0a232220f..1f951064b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ git-annex (0.20110329) UNRELEASED; urgency=low
have proper permissions.
* Added a special type of remote called a directory remote, which
simply stores files in an arbitrary local directory.
+ * Bugfix: copy --to --fast never really copied, fixed.
-- Joey Hess <joeyh@debian.org> Sat, 26 Mar 2011 14:36:16 -0400