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

Re: [PATCH] disable grafts during fetch/push/bundle

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 5, 2014, 18:49 UTC
Message-ID
<xmqqy50oh45n.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20140305005649.GB11509@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 5 quoted lines
> On Tue, Mar 04, 2014 at 12:52:18PM -0800, Junio C Hamano wrote:
>
> I do not recall any past discussion on this topic, and searching the
> archive only shows people echoing what I said above. Is this something
> we've promised to work in the past?

The history lesson is coming solely from my recollection of a discussion I and Linus had on the list back when we were doing the original "graft" and thinking about the interaction between it and the object/history transfer; especially the "only add new ones, but hide the ones that the user wants to be hidden" part is something suggested by Linus but we couldn't implement back then, IIRC.

> Perhaps the right response is "grafts are broken, use git-replace
> instead". But then should we think about deprecating grafts?
I am sort of surprised to hear that question, actually ;-)

I didn't say that in the message you are responding to because I somehow thought that everybody has been in agreement with these two lines for a long while. Ever since I suggested the "replace" as an alternative "grafts done right" and outlined how it should work to Christian while sitting next to him in one of the early GitTogether, the plan, at least in my mind, has always been exactly that: grafts were a nice little attempt but is broken---if you really wanted to muck with the history without rewriting (which is still discouraged, by the way), do not use "graft", but use "replace".

Previous: Jeff KingNext: Jeff King
Message 4 of 35 in “disable grafts during fetch/push/bundle”
  1. disable grafts during fetch/push/bundleJeff King, Mar 4, 2014
  2. Junio C HamanoMar 4, 2014
  3. Jeff KingMar 5, 2014
  4. Junio C HamanoMar 5, 2014
  5. Jeff KingMar 5, 2014
  6. Junio C HamanoMar 5, 2014
  7. Jeff KingMar 5, 2014
  8. Junio C HamanoMar 5, 2014
  9. Michael HaggertyMar 6, 2014
  10. Christian CouderMar 6, 2014
  11. Jeff KingMar 6, 2014
  12. Michael HaggertyMar 6, 2014
  13. Jeff KingMar 6, 2014
  14. 1/4 replace: refactor command-mode determinationJeff King, Mar 6, 2014
  15. 2/4 replace: use OPT_CMDMODE to handle modesJeff King, Mar 6, 2014
  16. 3/4 replace: factor object resolution out of replace_objectJeff King, Mar 6, 2014
  17. 4/4 replace: add --edit optionJeff King, Mar 6, 2014
  18. Eric SunshineMar 7, 2014
  19. Jeff KingMar 7, 2014
  20. Junio C HamanoMar 6, 2014
  21. Jeff KingMar 6, 2014
  22. Philip OakleyMar 6, 2014
  23. Michael HaggertyMar 6, 2014
  24. Junio C HamanoMar 6, 2014
  25. Christian CouderMar 7, 2014
  26. Jeff KingMar 7, 2014
  27. Junio C HamanoMar 19, 2014
  28. Jeff KingMar 21, 2014
  29. Philip OakleyMar 6, 2014
  30. Eric SunshineMar 4, 2014
  31. Jeff KingMar 5, 2014
  32. Eric SunshineMar 5, 2014
  33. Jeff KingMar 5, 2014
  34. Eric SunshineMar 5, 2014
  35. Jeff KingMar 6, 2014

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.