Subject: Re: [PATCH v3 0/9] pack-bitmap: fix various pseudo-merge bugs

From: Junio C Hamano <[email-masked]>
Date: Tue, 12 May 2026 10:38:44 +0900

Taylor Blau <[email-masked]> writes:

> [Note to the maintainer: this series has been rebased onto the current
> tip of master, which is 7760f83b597 (Merge branch
> 'jc/neuter-sideband-fixup', 2026-05-11) at the time of writing].

A note like this is very much appreciated, but please also state the
reason why the rebase was necessary.  "Because the current tip of
'master' has advanced" is not a good reason.  "The previous
synthetic base was made by merging topic X and topic Y on
then-current 'master', but both have graduated" is a so-so ok
reason.  "Because the updated implementation of this series uses
facilities that appeared in recent 'master' that come from topics A
and B, which the previous iteration did not use" and "Recent updates
to 'master' brings in conflicting changes from topic C" are
excellent reasons.

> Range-diff against v2:
>  1:  c0df35f8ebd =  1:  9c7a829cbeb t/helper: add 'test-tool bitmap write' subcommand
>  2:  11de3343726 =  2:  d1ed4aadf75 t5333: demonstrate various pseudo-merge bugs
>  3:  8d908ab415e =  3:  bf3a9a07e5f pack-bitmap-write: sort pseudo-merge commit lookup table in pack order
>  4:  07f70a07c20 !  4:  a1d341c92eb pack-bitmap: fix inverted binary search in `pseudo_merge_at()`
>     @@ t/t5333-pseudo-merge-bitmaps.sh: test_expect_success 'apply pseudo-merges during
>      +test_expect_success 'apply pseudo-merges from multiple groups during fill-in' '
>       	test_when_finished "rm -fr pseudo-merge-fill-in-multi" &&
>       	git init pseudo-merge-fill-in-multi &&
>     -+	git init pseudo-merge-fill-in-multi &&

OK.

>       	(
>     - 		cd pseudo-merge-fill-in-multi &&
>     - 
>  5:  3ed0b39843f =  5:  06e3410d323 pack-bitmap: fix pseudo-merge lookup for shared commits
>  6:  95f847211f3 =  6:  78cf7e6d80d pack-bitmap: parse commits in `find_pseudo_merge_group_for_ref()`
>  7:  f8a01cfb893 =  7:  4dbf6686718 pack-bitmap: reject pseudo-merge "sampleRate" of 0
>  8:  c37156502c0 =  8:  46d0ee2f168 Documentation: fix broken `sampleRate` in gitpacking(7)
>  9:  b905fd5d0ae !  9:  9b17dab2cf7 pack-bitmap: prevent pattern leak on pseudo-merge re-assignment
>     @@ t/t5333-pseudo-merge-bitmaps.sh: test_expect_success 'sampleRate=0 does not caus
>       '
>       
>      +test_expect_success 'duplicate pseudo-merge pattern does not leak' '
>     -+	git init pseudo-merge-dup-pattern &&
>      +	test_when_finished "rm -fr pseudo-merge-dup-pattern" &&
>     -+
>     ++	git init pseudo-merge-dup-pattern &&
>      +	(
>      +		cd pseudo-merge-dup-pattern &&
>      +
>     @@ t/t5333-pseudo-merge-bitmaps.sh: test_expect_success 'sampleRate=0 does not caus
>      +		git config bitmapPseudoMerge.test.threshold now &&
>      +		git config bitmapPseudoMerge.test.stableThreshold never &&
>      +
>     -+		git rev-parse HEAD~63 |
>     -+		test-tool bitmap write "$(basename $pack)" &&
>     ++		git rev-parse HEAD~63 >in &&
>     ++		test-tool bitmap write "$(basename $pack)" <in &&
>      +
>      +		test_pseudo_merges >merges &&
>      +		test_line_count = 1 merges
>
> base-commit: 7760f83b59750c27df653c5c46d0f80e44cfe02c

Queued.  Thanks.