Hello list,
After replacing a directory by a symlink, branches without that change will conflict whenever they change something unrelated in the link target. To illustrate:
git init && mkdir common && touch common/test && git add common/test && mkdir dupe && touch dupe/test && git add dupe/test && git commit -m 'initial setup' &&
git rm -r dupe && ln -s common dupe && git add dupe && git commit -m 'replace dir by symlink' &&
git checkout -b prelink HEAD^ && touch common/irrelevant && git add common/irrelevant && git commit -m 'additional common file' &&
git checkout - && git merge prelink
fails in git v1.7.2.3 with:
> CONFLICT (file/directory): There is a directory with name dupe in prelink. > Adding dupe as dupe~HEAD > Automatic merge failed; fix conflicts and then commit the result.
I'd expect the same resolution as when adding a symlink from a different name, without replacing the directory, but this happily merges without raising a fuss.
Does anyone recognise or know a reason for this behaviour?
Thanks!
-- Mischa