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

RE: [PATCH] name-rev: use generation numbers if available

From
Keller, Jacob E <jacob.e.keller@intel.com>
Date
Mar 1, 2022, 22:46 UTC
Message-ID
<CO1PR11MB5089DC997DB42023324F1BF0D6029@CO1PR11MB5089.namprd11.prod.outlook.com>
In-Reply-To
<xmqqfso1pgmv.fsf@gitster.g>
Show 23 quoted lines
> -----Original Message-----
> From: Junio C Hamano <gitster@pobox.com>
> Sent: Tuesday, March 01, 2022 12:23 PM
> To: Derrick Stolee <derrickstolee@github.com>
> Cc: Keller, Jacob E <jacob.e.keller@intel.com>; Jacob Keller
> <jacob.keller@gmail.com>; Git mailing list <git@vger.kernel.org>
> Subject: Re: [PATCH] name-rev: use generation numbers if available
> 
> Derrick Stolee <derrickstolee@github.com> writes:
> 
> >> I think the "tests should document current behavior" is handled by the
> >> fact that this specific test fails if you revert the name-rev changes
> >> but keep the test.
> >
> > Ah, so this _is_ documenting a new behavior that didn't exist
> > before the series. That is good to include, then. If it was
> > "just" testing the behavior before this series, then it would
> > have less reason to exist.
> 
> With of without the additional codepath to handle the case where
> commit graph is available, the original heuristics that is based on
> commit timestamps are fooled by a history with skewed timestamps.
> 
Let's clarify. There are two versions of the test in this version:
1) test which enables commit graph and tests that it does the right behavior.
2) test which removes commit graph and tests that it behaves the old way.
test (1) checks the flow with the commit graph enabled, and verifies that with a commit graph the new behavior is used. This test will fail if you revert the name-rev commit-graph support.
test (2) always performs the way we don't like. (since we disable the commit graph and the new flow doesn't kick in) This is the test I think I will eliminate in the next revision.
I will remove the 2nd test, since the first test covers the change in behavior just fine, and I think I agree we don't need to set in-stone the implementation without commit graph.
I will also look at adding a test which performs a count of which revisions get inspected and makes sure that we actually are doing the optimization.
> So I thought this "without commit graph, the algorithm must fail
> this way" test would be testing the current behaviour *and* the
> behaviour of the new code, no?
Previous: Junio C HamanoNext: Junio C Hamano
Message 11 of 18 in “name-rev: use generation numbers if available”
  1. 0/1 name-rev: use generation numbers if availableJacob Keller, Feb 28, 2022
  2. name-rev: use generation numbers if availableJacob Keller, Feb 28, 2022
  3. Junio C HamanoMar 1, 2022
  4. Jacob KellerMar 1, 2022
  5. Jacob KellerMar 1, 2022
  6. Junio C HamanoMar 1, 2022
  7. Derrick StoleeMar 1, 2022
  8. Keller, Jacob EMar 1, 2022
  9. Derrick StoleeMar 1, 2022
  10. Junio C HamanoMar 1, 2022
  11. Keller, Jacob EMar 1, 2022
  12. Junio C HamanoMar 3, 2022
  13. Jacob KellerMar 7, 2022
  14. Derrick StoleeMar 7, 2022
  15. Keller, Jacob EMar 7, 2022
  16. Derrick StoleeMar 7, 2022
  17. Junio C HamanoMar 7, 2022
  18. 1/1 name-rev: use generation numbers if availableJacob Keller, Feb 28, 2022

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.