diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bugs/fsck_--from___36__remote__44___copies_symlinks_instead_of_content.mdwn | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/doc/bugs/fsck_--from___36__remote__44___copies_symlinks_instead_of_content.mdwn b/doc/bugs/fsck_--from___36__remote__44___copies_symlinks_instead_of_content.mdwn new file mode 100644 index 000000000..593b7e9aa --- /dev/null +++ b/doc/bugs/fsck_--from___36__remote__44___copies_symlinks_instead_of_content.mdwn @@ -0,0 +1,78 @@ +### Please describe the problem. + + git annex fsck --from $remote + +copies the symlinks from the remote into *.git/annex/tmp*, which then fail to fsck as they don't point to content. + +In the transcript below, the 'a' file should fail fsck, but the rest pass. + +### What steps will reproduce the problem? + +See transcript + +### What version of git-annex are you using? On what operating system? + +* git-annex version: 5.20150409-g3575ee5 +* Arch Linux (git-annex-bin) + +### Please provide any additional information below. + + ## git init origin + ## cd corrupt/ + ## git annex init corrupt + ## echo a > a.txt + ## echo b > b.txt + ## echo c > c.txt + + ## git annex add . + add a.txt ok + add b.txt ok + add c.txt ok + (recording state in git...) + + ## git commit -m "add files" + [master (root-commit) 1d670a5] add files + 3 files changed, 3 insertions(+) + create mode 120000 a.txt + create mode 120000 b.txt + create mode 120000 c.txt + +("corrupting" a file not needed but here for completeness) + + ## chmod +w .git/annex/objects/41/pJ/SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt/ + ## echo 'd' > .git/annex/objects/41/pJ/SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt/SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt + + ## cd .. + + ## git clone corrupt/ recovery/ + Cloning into 'recovery'... + done. + + ## cd recovery/ + + ## git annex init recovery + init recovery (merging origin/git-annex into git-annex...) + (recording state in git...) + ok + (recording state in git...) + + ## git annex fsck --from origin + fsck a.txt + git-annex: .git/annex/tmp/fsck24477.SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt: getFileStatus: does not exist (No such file or directory) + failed + fsck b.txt + git-annex: .git/annex/tmp/fsck24477.SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f.txt: getFileStatus: does not exist (No such file or directory) + failed + fsck c.txt + git-annex: .git/annex/tmp/fsck24477.SHA256E-s2--a3a5e715f0cc574a73c3f9bebb6bc24f32ffd5b67b387244c2c909da779a1478.txt: getFileStatus: does not exist (No such file or directory) + failed + (recording state in git...) + git-annex: fsck: 3 failed + + ## ls -lah .git/annex/tmp/ + total 20K + drwxr-xr-x 2 gemma users 4.0K Apr 18 17:27 .. + drwxr-xr-x 5 gemma users 4.0K Apr 18 17:27 .. + lrwxrwxrwx 1 gemma users 197 Apr 18 17:27 fsck24477.SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f.txt -> ../corrupt/.git/annex/objects/x7/01/SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f.txt/SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f.txt + lrwxrwxrwx 1 gemma users 197 Apr 18 17:27 fsck24477.SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt -> ../corrupt/.git/annex/objects/41/pJ/SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt/SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7.txt + lrwxrwxrwx 1 gemma users 197 Apr 18 17:27 fsck24477.SHA256E-s2--a3a5e715f0cc574a73c3f9bebb6bc24f32ffd5b67b387244c2c909da779a1478.txt -> ../corrupt/.git/annex/objects/Vw/zz/SHA256E-s2--a3a5e715f0cc574a73c3f9bebb6bc24f32ffd5b67b387244c2c909da779a1478.txt/SHA256E-s2--a3a5e715f0cc574a73c3f9bebb6bc24f32ffd5b67b387244c2c909da779a1478.txt |