Re: [PATCH 5/8] pack-bitmap-write.c: select pseudo-merges even for small bitmaps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 15, 2024 at 01:31:12PM -0400, Taylor Blau wrote:

> Ordinarily, the pack-bitmap machinery will select some subset of
> reachable commits to receive bitmaps. But when there are fewer than 100
> commits indexed in the first place, they will all receive bitmaps as a
> special case.
> 
> When this happens, pseudo-merges are not generated, making it impossible
> to test pseudo-merge corner cases with fewer than 100 commits.
> 
> Select pseudo-merges even for bitmaps with fewer than 100 commits to
> make such testing easier. In practice, this should not make a difference
> to non-testing bitmaps, as they are unlikely to be used when a
> repository has so few commits to begin with.

I think you could argue that if there are fewer than 100 commits in the
history that pseudo-merge bitmaps are overkill, so it does not matter
much either way. But I think being consistent with our behavior (i.e.,
generating them if asked) is important for testing and debugging.

> diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
> index 346fb29513..923f793cec 100644
> --- a/pack-bitmap-write.c
> +++ b/pack-bitmap-write.c
> @@ -694,6 +694,10 @@ void bitmap_writer_select_commits(struct bitmap_writer *writer,
>  	if (indexed_commits_nr < 100) {
>  		for (i = 0; i < indexed_commits_nr; ++i)
>  			bitmap_writer_push_commit(writer, indexed_commits[i], 0);
> +
> +		select_pseudo_merges(writer, indexed_commits,
> +				     indexed_commits_nr);
> +

I of course just posted a series which drops the latter two arguments
from this function. It's a semantic conflict, not a textual one, so
we'll have to fix it up when the two are merged (but the compiler will
easily notice to remind us).

-Peff




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux