Share via


back to basics - three-way file merge

I had planned on writing a medium-sized post about three-way merge, mainly just as a foundation to make sure we're all on the same page.  However, after doing a quick search (using the new MSN Search Engine since I had done the same search with Google yesterday and didn't like the results, although that's admittedly subjective), I found something I hadn't expected to find - an excellent existing post on the subject by Eric Sink. Since Team Foundation and SourceGear already have a relationship (see Allerton), it seems somewhat appropriate to link to his explanation of file merge.  Admittedly, it's somewhat written targeting consumers of Vault, but most of the concepts (definitely including this one) are the same between any modern version control system, ours and his included.

https://www.ericsink.com/scm/scm_file_merge.html

For those who may find it easier to understand some kind of diagram, I made an attempt using Powerpoint, but I'll be the first to admit that my artistic skills are, well, non-existent. Adam tried valiantly to steer me towards better looking graphics, but I was apparently able to foil his efforts.  As with all thumbnails, click for the larger view :)

Comments

  • Anonymous
    February 04, 2005
    You should have incorporated Clippy into the PPT somehow. Other than that, the whole "baseball diamond" graphic does seem to make the 3-way merge concept clearer.

    The XML merge tool we're shipping uses this mental model to some extent - it shows the "theirs" and "yours" versions side-by-side, the merged version across the bottom, and (optionally) the base version across the top.
  • Anonymous
    February 20, 2006
    Last week there was some analysis of how various tools did during particular merge operations (especially...