]> git.ipfire.org Git - thirdparty/git.git/commitdiff
pack-bitmap-write.c: don't return without stop_progress()
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 3 Feb 2022 21:40:19 +0000 (22:40 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 3 Feb 2022 23:40:00 +0000 (15:40 -0800)
Fix a bug that's been here since 7cc8f971085 (pack-objects: implement
bitmap writing, 2013-12-21), we did not call stop_progress() if we
reached the early exit in this function.

We could call stop_progress() before we return, but better yet is to
defer calling start_progress() until we need it. For now this only
matters in practice because we'd previously omit the "region_leave"
for the progress trace2 event.

Suggested-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pack-bitmap-write.c

index 88d9e696a546a8db20d3ff7147a1bb15f8651d36..f0b4044e2bfbdeb3f7eeb0854b91248d780a540a 100644 (file)
@@ -544,15 +544,15 @@ void bitmap_writer_select_commits(struct commit **indexed_commits,
 
        QSORT(indexed_commits, indexed_commits_nr, date_compare);
 
-       if (writer.show_progress)
-               writer.progress = start_progress("Selecting bitmap commits", 0);
-
        if (indexed_commits_nr < 100) {
                for (i = 0; i < indexed_commits_nr; ++i)
                        push_bitmapped_commit(indexed_commits[i]);
                return;
        }
 
+       if (writer.show_progress)
+               writer.progress = start_progress("Selecting bitmap commits", 0);
+
        for (;;) {
                struct commit *chosen = NULL;