On Fri, 19 Aug 2005, Martin Langhoff wrote:
> Each patchset has a unique identifier, and can carry metadata with the
> identifiers of the patches it "includes". If you are using gnu arch,
> when you merge across branches, it'll know to skip a particular
> patchset if it has been applied already. AFAICT there is no such
> concept in GIT, and I wonder what to do with all this metadata about
You should include the metadata in the commit object. If the information
is about parents, they should be parents in git, too. If the information
is something else, you should convert it to readable text and put it in
the comment part of the commit object.
> If I remember correctly, Junio added some stuff in the merge & rebase
> code that will identify if a particular patch has been seen and
> applied, and skip it even if it's a bit out of order.
The usual way of git is to use a 3-way merge: given a common ancestor, try
to apply the changes between the ancestor and the second branch to the
first branch. And yes, this does not take history into account.
Originally, I wanted to write an "intelligent" merge, which turns the
history into patches and tries to merge these, but ultimately I got
convinced that this is too complicated to be worthwhile.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html