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

Re: [RFC/PATCH] Make --full-history consider more merges

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 25, 2013, 18:19 UTC
Message-ID
<7v1u9y4gnq.fsf@alter.siamese.dyndns.org>
In-Reply-To
<517963B4.30801@bracey.fi>
Kevin Bracey <kevin@bracey.fi> writes:
Show 18 quoted lines
> On 25/04/2013 19:51, Junio C Hamano wrote:
>> Kevin Bracey <kevin@bracey.fi> writes:
>>
>>> Thanks for the test addition. Maybe we will be able to satisfy your
>>> greed in this series. There could be more worth doing here, and I
>>> think getting TREESAME precise is key.
>> It is perfectly fine to do things one step at a time.  Let's get
>> the --full-history change into a good shape first and worry about
>> the more complex case after we are done.
>
> So do you see the rerun of try_to_simplify_commit() as acceptable? I'm
> really not happy with it - it was fine for an initial
> proof-of-concept, but it's an obvious waste of CPU cycles to recompute
> something we already figured out, and I'm uncomfortable with the fact
> that the function potentially does more than just compute TREESAME; by
> inspection it seems safe given the known context inside
> simplify_merges(), but it feels like something waiting to trip us
> up.
True.
> The latter could be dealt with by breaking
> try_to_simplify_commit() up, but that feels like a diversion. I'd
> rather just get on and make this first patch store and use the
> per-parent-treesame flags if feasible.

OK. We have survived with this corner case glitch for more than 6 years, so a fix is not ultra-urgent. Let's try to see if we can get it right.

How many decorations are we talking about here? One for each merge commit in the entire history? Do we have a cue that can tell us when we are really done with a commit that lets us discard the associated data as we go on digging, keeping the size of our working set somewhat bounded, perhaps proportional to the number of commits in our rev_info->commits queue?

Previous: Kevin BraceyNext: Kevin Bracey
Message 12 of 25 in “Locating merge that dropped a change”
  1. Kevin BraceyApr 9, 2013
  2. Kevin BraceyApr 11, 2013
  3. Junio C HamanoApr 11, 2013
  4. Make --full-history consider more mergesKevin Bracey, Apr 22, 2013
  5. Junio C HamanoApr 22, 2013
  6. Kevin BraceyApr 23, 2013
  7. Junio C HamanoApr 24, 2013
  8. Junio C HamanoApr 25, 2013
  9. Kevin BraceyApr 25, 2013
  10. Junio C HamanoApr 25, 2013
  11. Kevin BraceyApr 25, 2013
  12. Junio C HamanoApr 25, 2013
  13. Kevin BraceyApr 26, 2013
  14. 1/3 revision.c: tighten up TREESAME handling of mergesKevin Bracey, Apr 26, 2013
  15. 2/3 simplify-merges: never remove all TREESAME parentsKevin Bracey, Apr 26, 2013
  16. Junio C HamanoApr 27, 2013
  17. Kevin BraceyApr 28, 2013
  18. Junio C HamanoApr 28, 2013
  19. 3/3 simplify-merges: drop merge from irrelevant side branchKevin Bracey, Apr 26, 2013
  20. Junio C HamanoApr 27, 2013
  21. David AguilarApr 27, 2013
  22. Kevin BraceyApr 28, 2013
  23. Junio C HamanoApr 28, 2013
  24. Kevin BraceyApr 29, 2013
  25. Junio C HamanoApr 29, 2013

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.