diff options
author | Asureus <Asureus@web> | 2017-01-15 14:34:40 +0000 |
---|---|---|
committer | admin <admin@branchable.com> | 2017-01-15 14:34:40 +0000 |
commit | 57b15833b6bad7390d066a9235fb43632691b933 (patch) | |
tree | a3c9e892709db7624ed3c8d4db732601e3367cb3 /doc/bugs/data_loss_on_Windows__58___git_annex_sync_--no-content_drops_last_copy_unexpectedly.mdwn | |
parent | 14ffed704d69e82340dd1eb6f906a481362bc6b6 (diff) |
Diffstat (limited to 'doc/bugs/data_loss_on_Windows__58___git_annex_sync_--no-content_drops_last_copy_unexpectedly.mdwn')
-rw-r--r-- | doc/bugs/data_loss_on_Windows__58___git_annex_sync_--no-content_drops_last_copy_unexpectedly.mdwn | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/doc/bugs/data_loss_on_Windows__58___git_annex_sync_--no-content_drops_last_copy_unexpectedly.mdwn b/doc/bugs/data_loss_on_Windows__58___git_annex_sync_--no-content_drops_last_copy_unexpectedly.mdwn new file mode 100644 index 000000000..d27aae545 --- /dev/null +++ b/doc/bugs/data_loss_on_Windows__58___git_annex_sync_--no-content_drops_last_copy_unexpectedly.mdwn @@ -0,0 +1,181 @@ +### Please describe the problem. +A seemingly harmless script causes data loss by dropping last copy of file content. + +In my test this script only drops file content on Windows. On Linux it's working good, even on a crippled filesystem. + +### What steps will reproduce the problem? +run the following script test.sh: +[[!format sh """ +mkdir a +cd a +git init +git annex init first +mkdir folder +echo foo > folder/1.txt +git annex add . +git annex sync +cd .. +git clone a b +cd b +git annex init second +git annex sync +cd ../a +git remote add second ../b +git annex sync +git annex move --to second +git annex sync +mv folder folder1 +git annex add +git annex sync +cd ../b +git annex sync +"""]] + +### What version of git-annex are you using? On what operating system? +git-annex version: 6.20161231-gc8eeb17 + +Windows 10.0.14393 and also Windows 8 + +### Please provide any additional information below. + +[[!format sh """ +# a complete transcript of the problem occurring. +$ ./test.sh +Initialized empty Git repository in A:/a/.git/ +init first + Detected a filesystem without fifo support. + + Disabling ssh connection caching. + + Detected a crippled filesystem. + + Enabling direct mode. +ok +(recording state in git...) +add folder/1.txt ok +(recording state in git...) +commit ok +Cloning into 'b'... +done. +init second + Detected a filesystem without fifo support. + + Disabling ssh connection caching. + + Detected a crippled filesystem. +(merging origin/git-annex into git-annex...) +(recording state in git...) + + Enabling direct mode. +ok +(recording state in git...) +commit ok +pull origin +ok +push origin +Counting objects: 6, done. +Delta compression using up to 8 threads. +Compressing objects: 100% (5/5), done. +Writing objects: 100% (6/6), 664 bytes | 0 bytes/s, done. +Total 6 (delta 0), reused 0 (delta 0) +To A:/a + * [new branch] git-annex -> synced/git-annex +ok +commit ok +pull second +From ../b + * [new branch] annex/direct/master -> second/annex/direct/master + * [new branch] git-annex -> second/git-annex + * [new branch] master -> second/master + * [new branch] synced/master -> second/synced/master +ok +move folder/1.txt (to second...) +1.txt + 4 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1) +(checksum...) ok +(recording state in git...) +commit ok +pull second +remote: Counting objects: 5, done. +remote: Compressing objects: 100% (4/4), done. +remote: Total 5 (delta 1), reused 0 (delta 0) +Unpacking objects: 100% (5/5), done. +From ../b + fd774cb..1aba4de git-annex -> second/git-annex +ok +(merging second/git-annex into git-annex...) +(recording state in git...) +push second +Counting objects: 10, done. +Delta compression using up to 8 threads. +Compressing objects: 100% (8/8), done. +Writing objects: 100% (10/10), 827 bytes | 0 bytes/s, done. +Total 10 (delta 3), reused 0 (delta 0) +To ../b + * [new branch] git-annex -> synced/git-annex +ok +add folder1/1.txt ok +(recording state in git...) +commit (recording state in git...) +ok +pull second +ok +push second +Counting objects: 7, done. +Delta compression using up to 8 threads. +Compressing objects: 100% (5/5), done. +Writing objects: 100% (7/7), 687 bytes | 0 bytes/s, done. +Total 7 (delta 0), reused 0 (delta 0) +To ../b + 7ba3e8a..ee8025b git-annex -> synced/git-annex + 0758cf9..6e91185 annex/direct/master -> synced/master +ok +commit ok +merge synced/master +Updating 0758cf9..6e91185 +Fast-forward + {folder => folder1}/1.txt | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename {folder => folder1}/1.txt (100%) +error: duplicate parent 6e91185c7c64569b275a09be1a104a1d8955e1fb ignored +ok +pull origin +From A:/a + 0758cf9..6e91185 annex/direct/master -> origin/annex/direct/master + fd774cb..ee8025b git-annex -> origin/git-annex + 0758cf9..6e91185 master -> origin/master + 0758cf9..6e91185 synced/master -> origin/synced/master +ok +push origin +Counting objects: 1, done. +Writing objects: 100% (1/1), 185 bytes | 0 bytes/s, done. +Total 1 (delta 0), reused 0 (delta 0) +To A:/a + fd774cb..ee8025b git-annex -> synced/git-annex + 6e91185..a886805 annex/direct/master -> synced/master +ok + +$ # script done here +$ cd b +$ git annex whereis +whereis folder1/1.txt (1 copy) + 2a9ef292-1729-4533-ac50-f68d2d0badb6 -- second [here] +ok + +$ cat folder1/1.txt +../.git/annex/objects/W5/55/SHA256E-s4--b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c.txt/SHA256E-s4--b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c.txt + +$ git annex get +get folder1/1.txt (not available) + No other repository is known to contain the file. +failed +git-annex: get: 1 failed + + +# End of transcript or log. +"""]] + + +### Conclusion + +I'm so attracted to git-annex's idea, but seems it's still not robust enough to use on Windows platform - v5 direct mode repo is as far as I can get, yet it still throws away my data like this... |