]> git.ipfire.org Git - thirdparty/git.git/commitdiff
pack-bitmap-write.c: select pseudo-merges even for small bitmaps
authorTaylor Blau <me@ttaylorr.com>
Thu, 15 Aug 2024 17:31:12 +0000 (13:31 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Aug 2024 18:25:02 +0000 (11:25 -0700)
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.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pack-bitmap-write.c

index 346fb2951305254f9fb47ae647ab59d6f99f250c..923f793cecc5c1d4e47670ad03fb9105389102e7 100644 (file)
@@ -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);
+
                return;
        }