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

Re: [PATCH v3 6/6] last-modified: keep per-path Bloom filters for wildcard pathspecs

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 1, 2026, 04:19 UTC
Message-ID
<xmqq8q5lvc1i.fsf@gitster.g>
In-Reply-To
<20260831-toon-speed-up-last-modified-v3-6-2bbb864acf93@iotcl.com>
Toon Claes <toon@iotcl.com> writes:
Show 14 quoted lines
> diff --git a/t/t8020-last-modified.sh b/t/t8020-last-modified.sh
> index df73c7d0d0..75b18ee83b 100755
> --- a/t/t8020-last-modified.sh
> +++ b/t/t8020-last-modified.sh
> @@ -290,6 +290,32 @@ test_expect_success 'last-modified with Bloom filters and --show-trees' '
>  	)
>  '
>  
> +test_expect_success 'last-modified with Bloom filters and top-level wildcard' '
> ...
> +		GIT_TRACE2_PERF="$(pwd)/off.perf" \
> +			git -c core.commitGraph=false last-modified -r HEAD \
> +			-- "*.c" >expect &&
> +		test_grep "data .* bloom_queries:0$" off.perf &&

Ah, OK. With GIT_TEST_COMMIT_GRAPH=1 exported from the test harness environment, 'git -c core.commitGraph=false' would not be effective here. You would need to do something like:

		GIT_TEST_COMMIT_GRAPH=0 GIT_TRACE2_PERF="$(pwd)/off.perf" \
			git -c core.commitGraph=false last-modified -r HEAD \
			-- "*.c" >expect &&
> +		GIT_TRACE2_PERF="$(pwd)/on.perf" \
> +			git -c core.commitGraph=true last-modified -r HEAD \
> +			-- "*.c" >actual &&

And in the case where GIT_TEST_COMMIT_GRAPH=0 comes from the environment, you might want to be explicit about setting the variable here as well.

Previous: Toon ClaesNext: Toon Claes
Message 8 of 22 in “last-modified: use the pathspec's Bloom key to pre-filter commits”
  1. 0/6 last-modified: use the pathspec's Bloom key to pre-filter commitsToon Claes, Aug 31, 2026
  2. 1/6 revision: move bloom keyvec precondition into functionToon Claes, Aug 31, 2026
  3. 2/6 revision: expose check for paths maybe changed in Bloom filterToon Claes, Aug 31, 2026
  4. 3/6 bloom: add helper to check if any key in a vector is presentToon Claes, Aug 31, 2026
  5. 4/6 revision: add Bloom check that includes parent directoriesToon Claes, Aug 31, 2026
  6. 5/6 last-modified: check pathspec against Bloom filter firstToon Claes, Aug 31, 2026
  7. 6/6 last-modified: keep per-path Bloom filters for wildcard pathspecsToon Claes, Aug 31, 2026
  8. Junio C HamanoSep 1, 2026
  9. Toon ClaesSep 1, 2026
  10. Junio C HamanoSep 1, 2026
  11. Junio C HamanoAug 31, 2026
  12. 0/6 last-modified: use the pathspec's Bloom key to pre-filter commitsToon Claes, Sep 1, 2026
  13. 1/6 revision: move bloom keyvec precondition into functionToon Claes, Sep 1, 2026
  14. 2/6 revision: expose check for paths maybe changed in Bloom filterToon Claes, Sep 1, 2026
  15. 3/6 bloom: add helper to check if any key in a vector is presentToon Claes, Sep 1, 2026
  16. Patrick SteinhardtSep 10, 2026
  17. 4/6 revision: add Bloom check that includes parent directoriesToon Claes, Sep 1, 2026
  18. Patrick SteinhardtSep 10, 2026
  19. 5/6 last-modified: check pathspec against Bloom filter firstToon Claes, Sep 1, 2026
  20. Patrick SteinhardtSep 10, 2026
  21. 6/6 last-modified: keep per-path Bloom filters for wildcard pathspecsToon Claes, Sep 1, 2026
  22. Patrick SteinhardtSep 10, 2026

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.