On Fri, 30 Mar 2007, Linus Torvalds wrote:
We're looking for a base version for a merge - think of a three-way merge
on a file level. And the easiest base version is actually an empty base
file (or, when it comes to a rename conflict, no base names at all).
Note that "easiest" isn't "best".
For data conflicts in intermediate merges, we use the conficted file,
conflict markers and all, as the base.
I suspect we should do exactly the same for filename conflicts. Write the
intermediate tree with *both* files, including conflict markers. I'd
suggest writing out the conflicting names to the intermediate tree
*exactly* the same way we do for the final tree in the working tree, but
mayne we could just write them with the SHA of the content appended to the
filename or something..)
Linus