From b6659be44bf4ea6dcb801bf90bf66dd39deaa48a Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlWskoNgUB7r70OXglR-4iKI4bOuPJb-xg" Date: Thu, 14 Nov 2013 15:25:24 +0000 Subject: [PATCH] --- ...rect_merge___40__a_special_case__41__.mdwn | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 doc/bugs/Incorrect_merge___40__a_special_case__41__.mdwn diff --git a/doc/bugs/Incorrect_merge___40__a_special_case__41__.mdwn b/doc/bugs/Incorrect_merge___40__a_special_case__41__.mdwn new file mode 100644 index 0000000000..f7449b28f3 --- /dev/null +++ b/doc/bugs/Incorrect_merge___40__a_special_case__41__.mdwn @@ -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