From: Alex Riesen Date: Mon, 11 May 2009 07:39:35 GMT Subject: Re: [BUG] fatal error during merge Message-ID: <81b0412b0905110039l280b69acje4f9704c81028bcc@mail.gmail.com> In-Reply-To: 2009/5/11 Johannes Schindelin : > > 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