On Tue, 12 Aug 2008, Stephan Beyer wrote: > merge_recursive_generic() takes, in comparison to to merge_recursive(), > no commit ("struct commit *") arguments but SHA ids ("unsigned char *"), > and no commit list of bases but an array of refs ("const char **"). > > This makes it more generic in the case that it can also take the SHA > of a tree to merge trees without commits, for the bases, the head > and the remote. > > merge_recursive_generic() also handles locking and updating of the > index, which is a common use case of merge_recursive(). > > This patch also rewrites builtin-merge-recursive.c to make use of > merge_recursive_generic(). By doing this, I stumbled over the > limitation of 20 bases and I've added a warning if this limitation > is exceeded. > > This patch qualifies make_virtual_commit() as static again because > this function is not needed anymore outside merge-recursive.c. You might look at builtin-checkout and see if merge_working_tree() could be made cleaner with this API, or if some other API could accomodate both cases more nicely. (I'm not sure either way, but it would be a good confirmation that the API is properly convenient if that additional case could use it.) -Daniel *This .sig left intentionally blank* -- 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