This commit is contained in:
encryptio 2015-04-30 21:59:28 +00:00 committed by admin
parent 2eef19d19d
commit 4fad4c2068

View file

@ -0,0 +1,51 @@
### Please describe the problem.
During a git annex fsck --fast --from <someexternalremote>, any CHECKPRESENT-SUCCESS responses are considered failures:
fsck file
failed to download file from remote
failed
(recording state in git...)
git-annex: fsck: 1 failed
It doesn't appear that the external protocol is being violated in any way; it occurs both with my special external (https://git.encryptio.com/slime/blob/refs/heads/master:/misc/git-annex-remote-slime/main.go) and with the example external remote. Making these dump their IO to stderr shows they're behaving correctly, as far as I can tell.
`git annex testremote` passes on these remotes too, so it's not catching the issue (though it probably should.)
### What steps will reproduce the problem?
With https://git-annex.branchable.com/special_remotes/external/example.sh/ installed as "git-annex-remote-externaltest", this script shows the issue:
[[!format sh """
#!/bin/sh
set -e
[ -e "annex-test-dirs/repo/.git/annex/objects" ] && (
find "annex-test-dirs/repo/.git/annex/objects" -type f -exec chmod 0644 {} \;
find "annex-test-dirs/repo/.git/annex/objects" -type d -exec chmod 0755 {} \;
)
rm -rf annex-test-dirs
mkdir -p annex-test-dirs/{repo,data}
cd annex-test-dirs/repo
git init
git annex init
MYPASSWORD=a MYLOGIN=b git annex initremote ext type=external encryption=none externaltype=externaltest directory="$(pwd)/../data"
echo "data" > file
git annex add file
git commit -m message
git annex copy --to ext
# this works:
git annex fsck --from ext
# but this incorrectly fails and marks the file "not present":
git annex fsck --fast --from ext
"""]]
### What version of git-annex are you using? On what operating system?
git-annex 5.20150420-gb0ebb23, from the linux standalone tarball, on linux.