On Thu, Aug 26, 2010 at 12:50 PM, Elijah Newren <newren@xxxxxxxxx> wrote: >> The second point (probably not needed if the above assumption is no >> longer true, but I post anyway in case I forget it again). Without >> whole trees, it's impossible to determine a trivial merge reliably. If >> "you" adds a file and "upstream" adds another file, predecessor trees >> will look different but merging them is trivial (at file level). If we >> miss some trees that lead to those new files, the best thing we can do >> is to claim it non-trivial. > > I'm not following this one. Could you provide more detail? > Let's say in "ancestor" tree, we have t1/f0 t2/t3/f0 In "you" tree, we have t1/f0 t2/t3/f0 t2/t3/f1 In "upstream" tree, we have t1/f0 t2/t3/f0 t2/t3/f2 The narrow tree is t1, so we the trees we have are toplevel tree and t1. If we have all trees, that should be a trivial merge, which results in f0, f1 and f2 inside t2/t3. But we don't have t2 and t3 trees in narrow repo. When we traverse toplevel tree of "ancestor", "you" and "upstream", we can only see that t2 sha-1 is different. If "t2" is a file, not a tree, then we can conclude non-trivial here. And because we don't have t2, we can't descend to make better conclusion. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html