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

Multi-ancestor read-tree notes

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Sep 5, 2005, 05:41 UTC
Message-ID
<Pine.LNX.4.63.0509050049030.23242@iabervon.org>

I've got a version of read-tree which accepts multiple ancestors and does a merge using information from all of them.

The basic features are that it looks for an ancestor which would permit a trivial merge, and uses that. However, if it finds ancestors which permit different trivial merges, it does not merge (which I call case #16).

In case #16, I'm not sure what I should produce. I think the best thing might be to not leave anything in stage 1. The desired end effect is that the user is given a file with a section like:

  {
    *t = NULL;
    *m = 0;
<<<<<<<<
    return Z_DATA_ERROR;
========
    return Z_OK;
>>>>>>>>
  }

In other news, the merge that was giving Len Brown problems a while ago turns out to have the above conflict, and he happened to end up doing the right thing and not reverting Linus's revert of an unnecessary (but harmless) change. I only noticed this just now, when I was testing that merge, and got it to generate only two conflicts regardless of order of ancestors (didn't try to resolve the other one, drivers/acpi/osl.c, with "merge" either way).

So this test is encouraging: I get fewer non-trivial cases than either of the ancestors alone gives, and I catch a case that both single ancestors gets wrong.

Note that there are still some memory leaks for me to fix, but that's the only flaw I know of with this.

Patches against mainline to follow shortly.
	-Daniel
*This .sig left intentionally blank*
Next: Junio C Hamano
Message 1 of 18 in “Multi-ancestor read-tree notes”
  1. Daniel BarkalowSep 5, 2005
  2. Junio C HamanoSep 6, 2005
  3. Daniel BarkalowSep 6, 2005
  4. Junio C HamanoSep 6, 2005
  5. Daniel BarkalowSep 6, 2005
  6. Junio C HamanoSep 6, 2005
  7. Daniel BarkalowSep 6, 2005
  8. Junio C HamanoSep 10, 2005
  9. Junio C HamanoSep 10, 2005
  10. Darrin ThompsonSep 8, 2005
  11. Fredrik KuivinenSep 8, 2005
  12. Daniel BarkalowSep 8, 2005
  13. Darrin ThompsonSep 8, 2005
  14. Junio C HamanoSep 8, 2005
  15. Daniel BarkalowSep 8, 2005
  16. Junio C HamanoSep 9, 2005
  17. Daniel BarkalowSep 9, 2005
  18. Matthias UrlichsSep 11, 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.