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

Re: [PATCH 3/3] read-tree -m 3-way: handle more trivial merges internally

From
Linus Torvalds <torvalds@osdl.org>
Date
Jun 9, 2005, 17:37 UTC
Message-ID
<Pine.LNX.4.58.0506091033300.2286@ppc970.osdl.org>
In-Reply-To
<7v7jh3phkk.fsf@assigned-by-dhcp.cox.net>
On Thu, 9 Jun 2005, Junio C Hamano wrote:
Show 6 quoted lines
> 
> I need to regurgitate other points you raised, but one immediate
> comment on the "lost remove" case.  The current two-way code has
> the same brokenness in that it does not unlink removed files
> under "-u".  We either need the "list of files to be removed",
> or we need to make two-way abort if we see these "remove" cases.
Yes, you're right.

Ho humm. I'll think about it. There's no "next" pointer in a struct cache-struct, and because we use the on-disk layout (good or bad, I dunno, but it does remove the need for copying megabytes of data for some cases) we can't just add one. So to generate a list of "deleted" files we'd have to make a separate array or something.

Not hard, but it's a bit ugly. I don't see any alternative, though, unless we really do end up using the same "leave it in the different stages and force people to run git-merge-cache on the result" thing that the three-way merge does.

The fact that the three-way merge _might_ also like to remove the entries, and that the two-way merge already handles the addition of new files, does kind of argue that we should do it. For symmetry witht he "file add" case, if nothing else.

			Linus
Previous: Junio C HamanoNext: Junio C Hamano
Message 20 of 33 in “Handling merge conflicts a bit more gracefully..”
  1. Linus TorvaldsJun 8, 2005
  2. Junio C HamanoJun 8, 2005
  3. Linus TorvaldsJun 8, 2005
  4. Junio C HamanoJun 9, 2005
  5. Linus TorvaldsJun 9, 2005
  6. Junio C HamanoJun 9, 2005
  7. Junio C HamanoJun 9, 2005
  8. Linus TorvaldsJun 9, 2005
  9. Junio C HamanoJun 9, 2005
  10. Linus TorvaldsJun 9, 2005
  11. Junio C HamanoJun 9, 2005
  12. Linus TorvaldsJun 9, 2005
  13. Junio C HamanoJun 9, 2005
  14. 0/3 Handling merge conflicts a bit more gracefullyJunio C Hamano, Jun 9, 2005
  15. 1/3 read-tree.c: rename local variables used in 3-way merge code.Junio C Hamano, Jun 9, 2005
  16. 2/3 read-tree -m 3-way: loosen index requirements that is too strict.Junio C Hamano, Jun 9, 2005
  17. 3/3 read-tree -m 3-way: handle more trivial merges internallyJunio C Hamano, Jun 9, 2005
  18. Linus TorvaldsJun 9, 2005
  19. Junio C HamanoJun 9, 2005
  20. Linus TorvaldsJun 9, 2005
  21. Junio C HamanoJun 9, 2005
  22. Add git-diff-stages command.Junio C Hamano, Jun 9, 2005
  23. Linus TorvaldsJun 9, 2005
  24. diff-stages: unuglify the too big main() function.Junio C Hamano, Jun 11, 2005
  25. Junio C HamanoJun 10, 2005
  26. Herbert XuJun 18, 2005
  27. Linus TorvaldsJun 18, 2005
  28. Jeff GarzikJun 9, 2005
  29. Linus TorvaldsJun 9, 2005
  30. read-tree.c: rename local variables used in 3-way merge code.Junio C Hamano, Jun 9, 2005
  31. Handle entry removals during merge correctly.Junio C Hamano, Jun 9, 2005
  32. read-tree -m 3-way: loosen an index requirement that was too strict.Junio C Hamano, Jun 9, 2005
  33. read-tree -m 3-way: handle more trivial merges internally.Junio C Hamano, Jun 9, 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.