]> git.ipfire.org Git - thirdparty/git.git/blobdiff - commit-graph.c
Merge branch 'sg/commit-graph-progress-fix' into master
[thirdparty/git.git] / commit-graph.c
index 328ab06fd417e171945e104f2f90861958f784f0..1af68c297d2e267b45fc5a1e820b11936dff906f 100644 (file)
@@ -1149,23 +1149,14 @@ static void write_graph_chunk_bloom_indexes(struct hashfile *f,
        struct commit **list = ctx->commits.list;
        struct commit **last = ctx->commits.list + ctx->commits.nr;
        uint32_t cur_pos = 0;
-       struct progress *progress = NULL;
-       int i = 0;
-
-       if (ctx->report_progress)
-               progress = start_delayed_progress(
-                       _("Writing changed paths Bloom filters index"),
-                       ctx->commits.nr);
 
        while (list < last) {
                struct bloom_filter *filter = get_bloom_filter(ctx->r, *list, 0);
                cur_pos += filter->len;
-               display_progress(progress, ++i);
+               display_progress(ctx->progress, ++ctx->progress_cnt);
                hashwrite_be32(f, cur_pos);
                list++;
        }
-
-       stop_progress(&progress);
 }
 
 static void write_graph_chunk_bloom_data(struct hashfile *f,
@@ -1174,13 +1165,6 @@ static void write_graph_chunk_bloom_data(struct hashfile *f,
 {
        struct commit **list = ctx->commits.list;
        struct commit **last = ctx->commits.list + ctx->commits.nr;
-       struct progress *progress = NULL;
-       int i = 0;
-
-       if (ctx->report_progress)
-               progress = start_delayed_progress(
-                       _("Writing changed paths Bloom filters data"),
-                       ctx->commits.nr);
 
        hashwrite_be32(f, settings->hash_version);
        hashwrite_be32(f, settings->num_hashes);
@@ -1188,12 +1172,10 @@ static void write_graph_chunk_bloom_data(struct hashfile *f,
 
        while (list < last) {
                struct bloom_filter *filter = get_bloom_filter(ctx->r, *list, 0);
-               display_progress(progress, ++i);
+               display_progress(ctx->progress, ++ctx->progress_cnt);
                hashwrite(f, filter->data, filter->len * sizeof(unsigned char));
                list++;
        }
-
-       stop_progress(&progress);
 }
 
 static int oid_compare(const void *_a, const void *_b)
@@ -1423,12 +1405,13 @@ int write_commit_graph_reachable(struct object_directory *odb,
                        _("Collecting referenced commits"), 0);
 
        for_each_ref(add_ref_to_set, &data);
+
+       stop_progress(&data.progress);
+
        result = write_commit_graph(odb, NULL, &commits,
                                    flags, split_opts);
 
        oidset_clear(&commits);
-       if (data.progress)
-               stop_progress(&data.progress);
        return result;
 }