git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC] Importing from a patch-oriented SCM

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Aug 19, 2005, 08:29 UTC
Message-ID
<Pine.LNX.4.63.0508191023570.11916@wgmdd8.biozentrum.uni-wuerzburg.de>
In-Reply-To
<46a038f9050819000417ed436e@mail.gmail.com>
Hi,
On Fri, 19 Aug 2005, Martin Langhoff wrote:
Show 6 quoted lines
> 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
> merges.

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.

Ciao, Dscho

Previous: Daniel Barkalow
Message 5 of 5 in “[RFC] Importing from a patch-oriented SCM”
  1. Martin LanghoffAug 19, 2005
  2. Junio C HamanoAug 19, 2005
  3. Martin LanghoffAug 19, 2005
  4. Daniel BarkalowAug 19, 2005
  5. Johannes SchindelinAug 19, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.