Skip to content

Commit 862aead

Browse files
szedergitster
authored andcommitted
commit-graph: fix "Collecting commits from input" progress line
To display a progress line while reading commits from standard input and looking them up, 5b6653e (builtin/commit-graph.c: dereference tags in builtin, 2020-05-13) should have added a pair of start_delayed_progress() and stop_progress() calls around the loop reading stdin. Alas, the stop_progress() call ended up at the wrong place, after write_commit_graph(), which does all the commit-graph computation and writing, and has several progress lines of its own. Consequently, that new Collecting commits from input: 1234 progress line is overwritten by the first progress line shown by write_commit_graph(), and its final "done" line is shown last, after everything is finished: $ { sleep 3 ; git rev-list -3 HEAD ; sleep 1 ; } | ~/src/git/git commit-graph write --stdin-commits Expanding reachable commits in commit graph: 873402, done. Writing out commit graph in 4 passes: 100% (3493608/3493608), done. Collecting commits from input: 3, done. Furthermore, that stop_progress() call was added after the 'cleanup' label, where that loop reading stdin jumps in case of an error. In case of invalid input this then results in the "done" line shown after the error message: $ { sleep 3 ; git rev-list -3 HEAD ; echo junk ; } | ~/src/git/git commit-graph write --stdin-commits error: unexpected non-hex object ID: junk Collecting commits from input: 3, done. Move that stop_progress() call to the right place. While at it, drop the unnecessary 'if (progress)' condition protecting the stop_progress() call, because that function is prepared to handle a NULL progress struct. Signed-off-by: SZEDER Gábor <[email protected]> Reviewed-by: Derrick Stolee <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 2f00c35 commit 862aead

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

builtin/commit-graph.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ static int graph_write(int argc, const char **argv)
251251
}
252252
}
253253

254-
254+
stop_progress(&progress);
255255
}
256256

257257
if (write_commit_graph(odb,
@@ -264,8 +264,6 @@ static int graph_write(int argc, const char **argv)
264264
cleanup:
265265
string_list_clear(&pack_indexes, 0);
266266
strbuf_release(&buf);
267-
if (progress)
268-
stop_progress(&progress);
269267
return result;
270268
}
271269

0 commit comments

Comments
 (0)