sync --content: Reuse smart copy code from copy command, including handling and repairing out of date location tracking info. Closes: #737480

This commit is contained in:
Joey Hess 2014-02-02 19:57:22 -04:00
parent 1858c1f44a
commit 4676706756
2 changed files with 5 additions and 9 deletions

View file

@ -34,8 +34,7 @@ import Git.FileMode
import Annex.Wanted import Annex.Wanted
import Annex.Content import Annex.Content
import Command.Get (getKeyFile') import Command.Get (getKeyFile')
import Logs.Transfer import qualified Command.Move
import Logs.Presence
import Logs.Location import Logs.Location
import Annex.Drop import Annex.Drop
@ -558,11 +557,5 @@ syncFile rs f (k, _) = do
put dest = do put dest = do
ok <- commandAction $ do ok <- commandAction $ do
showStart "copy" f showStart "copy" f
showAction $ "to " ++ Remote.name dest next $ Command.Move.toPerform dest False k (Just f)
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
return (ok, if ok then Just (Remote.uuid dest) else Nothing) return (ok, if ok then Just (Remote.uuid dest) else Nothing)

3
debian/changelog vendored
View file

@ -12,6 +12,9 @@ git-annex (5.20140128) UNRELEASED; urgency=medium
* sync --content: Re-pull from remotes after downloading content, * sync --content: Re-pull from remotes after downloading content,
since that can take a while and other changes may be pushed in the since that can take a while and other changes may be pushed in the
meantime. 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 * Added ways to configure rsync options to be used only when uploading
or downloading from a remote. Useful to eg limit upload bandwidth. or downloading from a remote. Useful to eg limit upload bandwidth.
* Document in man page that sshcaching uses ssh ControlMaster. * Document in man page that sshcaching uses ssh ControlMaster.