threads / patch / 30460

patchclone: fix progress-regression

Subject: [PATCH] clone: fix progress-regression

## tl;dr

3 messages between May 7, 2012 and May 8, 2012. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Erik Faye-Lund· May 7, 2012, 19:23 UTC · lore

In 5bd631b3 ("clone: support multiple levels of verbosity"), the default behavior to show progress of the implicit checkout in the clone-command regressed so that progress was only shown if the verbose-option was specified.

Fix this by making option_verbosity == 0 output progress as well.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
---

Hmpf. While tidying this up for a proper submission, I found out that writing a reliable test is tricky due to the start_progress_delay-usage. I'd have to clone a repo that does not progress more than 50% of the checkout-operation within one second or something like that (I didn't quite follow the logic there), which is a lot :P. This strikes me as error-prone, and I can't see an obvious hack around it (other than modifying the progress-code, which I consider a somewhat nasty alternative).

So perhaps writing a test to avoid similar breakages in the future isn't worth it?

 builtin/clone.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to builtin/clone.c +1 −1
diff --git a/builtin/clone.c b/builtin/clone.c
index bbd5c96..a4d8d25 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -569,7 +569,7 @@ static int checkout(void)
 	opts.update = 1;
 	opts.merge = 1;
 	opts.fn = oneway_merge;
-	opts.verbose_update = (option_verbosity > 0);
+	opts.verbose_update = (option_verbosity >= 0);
 	opts.src_index = &the_index;
 	opts.dst_index = &the_index;
 
-- 
1.7.10.msysgit.1
Junio C Hamano· May 7, 2012, 19:47 UTC · re: Erik Faye-Lund · lore

Re: [PATCH] clone: fix progress-regression

Erik Faye-Lund <kusmabite@gmail.com> writes:
Show 9 quoted lines
> In 5bd631b3 ("clone: support multiple levels of verbosity"), the
> default behavior to show progress of the implicit checkout in
> the clone-command regressed so that progress was only shown if
> the verbose-option was specified.
>
> Fix this by making option_verbosity == 0 output progress as well.
>
> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
> ---
Thanks.
Show 5 quoted lines
> Hmpf. While tidying this up for a proper submission, I found out that
> writing a reliable test is tricky due to the start_progress_delay-usage.
> I'd have to clone a repo that does not progress more than 50% of the
> checkout-operation within one second or something like that (I didn't
> quite follow the logic there), which is a lot :P.

In real life, most of the checkout is fairly quick for even projects like the kernel, and the logic is an attempt to avoid cluttering the terminal with progress unless it takes unusually long and might make the user feel worried.

> So perhaps writing a test to avoid similar breakages in the future isn't
> worth it?

I agree that it probably isn't worth it, given that it took forever for anybody to even complain about this.

Johannes Sixt· May 8, 2012, 05:46 UTC · re: Junio C Hamano · lore

Re: [PATCH] clone: fix progress-regression

Am 5/7/2012 21:47, schrieb Junio C Hamano:
> In real life, most of the checkout is fairly quick for even projects like
> the kernel, and the logic is an attempt to avoid cluttering the terminal
> with progress unless it takes unusually long and might make the user feel
> worried.

What is "unusually long"? On Windows, it can take its time to switch a branch even if only a few dozen files are affected, the disk cache is cold, and an on-access virus scanner is active. :-)

I appreciate the checkout progress indicator as eye candy every once in a while.

-- Hannes

← back to recent threads