summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-02-02 19:57:22 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-02-02 19:57:22 -0400
commit5344c54a72c590e9afc822074633e75931374ca0 (patch)
treeb9c94365e95d527201403f503d498a1cc9432c2c
parente570a4ebf5b9af092bb92f1bc9d06a08bffbd073 (diff)
sync --content: Reuse smart copy code from copy command, including handling and repairing out of date location tracking info. Closes: #737480
-rw-r--r--Command/Sync.hs11
-rw-r--r--debian/changelog3
2 files changed, 5 insertions, 9 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs
index 5bc412cc9..ce1faa7f5 100644
--- a/Command/Sync.hs
+++ b/Command/Sync.hs
@@ -34,8 +34,7 @@ import Git.FileMode
import Annex.Wanted
import Annex.Content
import Command.Get (getKeyFile')
-import Logs.Transfer
-import Logs.Presence
+import qualified Command.Move
import Logs.Location
import Annex.Drop
@@ -558,11 +557,5 @@ syncFile rs f (k, _) = do
put dest = do
ok <- commandAction $ do
showStart "copy" f
- showAction $ "to " ++ Remote.name dest
- next $ next $ do
- ok <- upload (Remote.uuid dest) k (Just f) noRetry $
- Remote.storeKey dest k (Just f)
- when ok $
- Remote.logStatus dest k InfoPresent
- return ok
+ next $ Command.Move.toPerform dest False k (Just f)
return (ok, if ok then Just (Remote.uuid dest) else Nothing)
diff --git a/debian/changelog b/debian/changelog
index 0b7272b93..ab239d462 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,9 @@ git-annex (5.20140128) UNRELEASED; urgency=medium
* sync --content: Re-pull from remotes after downloading content,
since that can take a while and other changes may be pushed in the
meantime.
+ * sync --content: Reuse smart copy code from copy command, including
+ handling and repairing out of date location tracking info.
+ Closes: #737480
* Added ways to configure rsync options to be used only when uploading
or downloading from a remote. Useful to eg limit upload bandwidth.
* Document in man page that sshcaching uses ssh ControlMaster.