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 next $ fromPerform src move key afile
fromOk :: Remote -> Key -> Annex Bool fromOk :: Remote -> Key -> Annex Bool
fromOk src key fromOk src key = go =<< Annex.getState Annex.force
| Remote.hasKeyCheap src =
either (const expensive) return =<< Remote.hasKey src key
| otherwise = expensive
where 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 expensive = do
u <- getUUID u <- getUUID
remotes <- Remote.keyPossibilities key 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. versions 5.20131118 through 5.20131127.
* rsync special remote: Fix fallback mode for rsync remotes that * rsync special remote: Fix fallback mode for rsync remotes that
use hashDirMixed. Closes: #731142 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 -- 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 When used with the `--to` option, copies the content of annexed files from
the current repository to the specified one. 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 ...]` * `status` [path ...]`