Re: [ANNOUNCE] Git v2.29.0-rc0
From: Jeff King <hidden>
Date: 2020-10-07 15:45:36
Subsystem:
the rest · Maintainer:
Linus Torvalds
On Wed, Oct 07, 2020 at 11:39:47AM -0400, Jeff King wrote:
You should see the: Receiving objects: 100% (300970/300970), 74.39 MiB | 57.93 MiB/s, done. progress. We used to follow that with: Resolving deltas: 100% (249340/249340), done. but now you get nothing for several seconds while we resolve deltas. The problem bisects to f08cbf60fe (index-pack: make quantum of work smaller, 2020-09-08) at the tip of jt/threaded-index-pack. I haven't dug further yet.
Hmm. That commit removes the call to display_progress() from the main loop of threaded_second_pass(), and doesn't appear to add another one anywhere. Is the solution really as simple as adding it back in? I.e.
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 8acd078aa0..6dbb4317e0 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c@@ -1028,6 +1028,10 @@ static void *threaded_second_pass(void *data) struct object_entry *child_obj; struct base_data *child; + counter_lock(); + display_progress(progress, nr_resolved_deltas); + counter_unlock(); + work_lock(); if (list_empty(&work_head)) { /*
That _seems_ to work fine, but I'm not sure why it was removed in the first place (for a good reason, or simply as an accident when rewriting the variable declarations at the top of the loop?). -Peff