copy --from, get --from: When --force is used, ignore the location log and always try to get the file from the remote.

This commit is contained in:
Joey Hess 2013-12-02 15:41:20 -04:00
parent bc786b6f06
commit 66285ca3d1
3 changed files with 14 additions and 5 deletions

View file

@ -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

2
debian/changelog vendored
View file

@ -9,6 +9,8 @@ git-annex (5.20131131) UNRELEASED; urgency=low
versions 5.20131118 through 5.20131127.
* rsync special remote: Fix fallback mode for rsync remotes that
use hashDirMixed. Closes: #731142
* copy --from, get --from: When --force is used, ignore the
location log and always try to get the file from the remote.
-- Joey Hess <joeyh@debian.org> Sun, 01 Dec 2013 13:57:58 -0400

View file

@ -101,7 +101,11 @@ subdirectories).
When used with the `--to` option, copies the content of annexed files from
the current repository to the specified one.
To avoid contacting the remote to check if it has every file, specify `--fast`
To avoid contacting the remote to check if it has every file
when copying --to the repository, specify `--fast`
To force checking the remote for every file when copying --from the
repository, specify `--force`.
* `status` [path ...]`