This commit is contained in:
https://www.google.com/accounts/o8/id?id=AItOawlWskoNgUB7r70OXglR-4iKI4bOuPJb-xg 2013-11-14 15:25:24 +00:00 committed by admin
parent 8c3c7799ba
commit b6659be44b

View file

@ -0,0 +1,40 @@
### Please describe the problem.
Minor issue.
Incorrect merge of direct repos in the special case where at repo A a symlink to a file whose contents aren't yet available, are overwritten, while at repo B the file is deleted.
Result: file is deleted on both side.
Expected: B.f is gone, A.f is still present
### What steps will reproduce the problem?
# setting up stuff
test/a$ git init
test/a$ git annex init
test/a$ git annex direct
test/a$ touch firstfile
test/a$ git annex add firstfile
$ git clone test/a
$ mv a test/b
test/b$ git annex direct
# actual scenario
test/b$ echo bbbb > f
test/b$ git annex add f
test/b$ git annex sync
test/a$ git annex sync
test/a$ echo aaaa > f
test/a$ git annex add f
test/a$ git annex sync
test/b$ rm f
test/b$ git annex sync
test/a$ git annex sync
# test/a/f is now gone, lost
### What version of git-annex are you using? On what operating system?
git-annex version: 4.20131031-g7d99d14
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
remote types: git gcrypt S3 bup directory rsync web webdav glacier hook
Linux ceilingcat 3.11.6-1-ARCH #1 SMP PREEMPT Fri Oct 18 23:22:36 CEST 2013 x86_64 GNU/Linux