On Sat, Oct 9, 2010 at 03:43, Olaf Dabrunz <odabrunz@xxxxxxx> wrote: > When dependencies can be removed as well as added, tg depend add > needs to make sure that the new dependency can bring in changes > from a branch that has previously been removed as a dependency > from the current TopGit branch. > > This implementation uses an exported branch set up by tg export, > and merges the new dependency into the commit that corresponds to > the current base. Using the exported branch in the merge has the > advantage that removed dependencies do not appear as parents, and > the merge base selected by git merge does not include changes from > a removed dependency. As a result, these changes can be merged in > again if the new dependency brings in these changes. > > The tree of the merge commit is then used to create the next > commit on the TopGit base branch. I'm really not an expert, but history comes from the commits not from the trees. Just using an hand made tree and commit this to the base doesn't change anything, because somewhere in the parent commits is still the information, that we merged in a branch that we just tried to remove (i'm speaking for tg depend remove). But maybe I don't understand what this patch changes. The only idea is, that we don't use merge commits for the base any more! Is this what this patch does? Bert -- 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