Re: More merge questions
From: <hidden>
Date: 2016-06-15 22:42:14
Just thinking about the difference between 2-way and 3-way merge... *Mostly* a 2-way merge is just a 3-way merge where one of the ways is taken from the index rather than from a tree. But there are some subtle differences. This diffierence is what forces octopus merge to form intermediate tree objects when doing its merges. If there was a way to merge directly into the index, octopus merge wouldn't have to make intermediate tree objects that would have to be garbage-collected later. (Indeed, I originally assumed that Octopus did all its merges in the index; it's only when I traced the code that I saw it calls git-write-tree multiple times.) Is the time saved, and space not wasted, worth implementing a 2-way merge that more exactly matches 3-way? It should be fairly straightforward to share the actual merging code. Opinions solicited.