Move-delete merge conflict is not displayed using git ls-files --unmerged
- From
- Constantine Plotnikov <constantine.plotnikov@gmail.com>
- Date
- Dec 22, 2008, 14:29 UTC
- Message-ID
- <85647ef50812220629o46134a70waf159bb6cd6d6e72@mail.gmail.com>
Lets consider repository state created with the following script (git version 1.6.0.4).
mkdir test-move-delete cd test-move-delete git init echo test1 >file.txt echo test2 >>file.txt echo test3 >>file.txt echo test4 >>file.txt git add file.txt git commit -m "start" git checkout -b moved master git mv file.txt copy.txt git commit -m "moved" git checkout -b deleted master git rm file.txt git commit -m "deleted" git merge moved
The last merge command fails with move-delete conflict.
CONFLICT (rename/delete): Renamed file.txt->copy.txt in moved and deleted in HEAD Automatic merge failed; fix conflicts and then commit the result.
However git ls-files --unmerged does not list any conflict in that case and it is possible to execute git commit command right away without doing anything with the repository.
I think that if git merge reports the conflicts, such conflicts should be discoverable using git ls-files and prevent commit with resolving the conflict like it is done with modify-delete conflicts.
Regards, Constantine