Re: [BUG] fatal error during merge
From: Alex Riesen <hidden>
Date: 2016-06-15 22:46:44
2009/5/11 Johannes Schindelin [off-list ref]:
If I read the message right, the file revision is supposed not to be changed from HEAD. Is unpack_trees() invalidating the "cleanness" of that file?
I think it is the D/F (or F/D?) conflict. A file in one branch is renamed into a directory. The script in the original post still works (err... fails).
(I would really love to have a better idea what's going on than what I get from both the commit message and the patch before giving my ACK.)
Ah, scrap that. The patch is no good, and does not fix the original problem at all. In fact, it makes it even worse - hides the problem by removing conflict information from the index and _deletes_ the problematic file. That's why it wasn't included - the brokenness was noticed. Pity that then I run out of time, too. The script to reproduce (note GIT_EXEC_PATH!): #!/bin/sh rm -rf merge-rename-fail mkdir merge-rename-fail || exit cd merge-rename-fail || exit export GIT_MERGE_VERBOSITY=5 export GIT_EXEC_PATH=$HOME/projects/git $GIT_EXEC_PATH/git init mkdir before echo FILE >before/one echo FILE >after $GIT_EXEC_PATH/git add . $GIT_EXEC_PATH/git commit -mfirst rm -f after $GIT_EXEC_PATH/git mv before after $GIT_EXEC_PATH/git commit -mmove $GIT_EXEC_PATH/git checkout -b para HEAD^ echo COMPLETELY ANOTHER FILE >another $GIT_EXEC_PATH/git add . $GIT_EXEC_PATH/git commit -mpara echo '*** *** MERGE *** ***' echo export GIT_EXEC_PATH=$GIT_EXEC_PATH echo $GIT_EXEC_PATH/git merge master