Thread (9 messages) flat view 9 messages, 7 authors, 2020-10-09

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help