git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git clone takes ages on a slow link
@ 2006-06-04  1:01 Anton Blanchard
  2006-06-04 17:48 ` Linus Torvalds
  0 siblings, 1 reply; 3+ messages in thread
From: Anton Blanchard @ 2006-06-04  1:01 UTC (permalink / raw)
  To: git


Hi,

I tried cloning a local repository when connected over a slow (1 second+
latency) link. It took forever (I gave up after 10 minutes). If I ran
it in the background it took a few seconds.

I think the ticker is over anxious.

# git clone -l linux-2.6 linux-2.6-test
0 blocks
Checking files out...
   5% (1060/19552) done			<---- performance bottleneck

Anton

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: git clone takes ages on a slow link
  2006-06-04  1:01 git clone takes ages on a slow link Anton Blanchard
@ 2006-06-04 17:48 ` Linus Torvalds
  2006-06-04 22:29   ` Anton Blanchard
  0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2006-06-04 17:48 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: Git Mailing List, Junio C Hamano



On Sun, 4 Jun 2006, Anton Blanchard wrote:
> 
> I think the ticker is over anxious.

It is indeed. It's _meant_ to only tick once a second or when the 
percentage changes, but I think it forgot to clear the "once a second 
happened" flag, so instead of updates the percentage output for every 
file it checks out after the first second has passed.

So something like this should help... Can you verify?

		Linus
---
diff --git a/builtin-read-tree.c b/builtin-read-tree.c
index 716f792..80c9320 100644
--- a/builtin-read-tree.c
+++ b/builtin-read-tree.c
@@ -336,6 +336,7 @@ static void check_updates(struct cache_e
 					fprintf(stderr, "%4u%% (%u/%u) done\r",
 						percent, cnt, total);
 					last_percent = percent;
+					progress_update = 0;
 				}
 			}
 		}

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: git clone takes ages on a slow link
  2006-06-04 17:48 ` Linus Torvalds
@ 2006-06-04 22:29   ` Anton Blanchard
  0 siblings, 0 replies; 3+ messages in thread
From: Anton Blanchard @ 2006-06-04 22:29 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Git Mailing List, Junio C Hamano


Hi Linus,

> It is indeed. It's _meant_ to only tick once a second or when the 
> percentage changes, but I think it forgot to clear the "once a second 
> happened" flag, so instead of updates the percentage output for every 
> file it checks out after the first second has passed.
> 
> So something like this should help... Can you verify?

Thanks, it fixes it.

Anton

> diff --git a/builtin-read-tree.c b/builtin-read-tree.c
> index 716f792..80c9320 100644
> --- a/builtin-read-tree.c
> +++ b/builtin-read-tree.c
> @@ -336,6 +336,7 @@ static void check_updates(struct cache_e
>  					fprintf(stderr, "%4u%% (%u/%u) done\r",
>  						percent, cnt, total);
>  					last_percent = percent;
> +					progress_update = 0;
>  				}
>  			}
>  		}

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-06-04 22:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-04  1:01 git clone takes ages on a slow link Anton Blanchard
2006-06-04 17:48 ` Linus Torvalds
2006-06-04 22:29   ` Anton Blanchard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).