Subject: Re: Slow fetches of tags

From: Ralf Baechle <[email-masked]>
Date: Fri, 26 May 2006 16:42:39 +0100

On Wed, May 24, 2006 at 09:48:34PM -0700, Junio C Hamano wrote:

> I think the right fix for this is to change upload-pack to
> traverse reachability chain from the "want" heads as it gets
> "have" from the downloader, and stop responding "continue" when
> all "want" heads can reach some "have" commits.  This would not
> prevent it from going down all the way to the root commit if
> what is wanted does not have anything to do with what the other
> end has (e.g. if you have only my main project branches, and you
> ask for html head for the first time), but it would have
> prevented Ralf's tree from getting "continue" after he asked
> only for v2.6.16.18 tag and said he has 2.6.16.18 commit and its
> ancestors.  It should not be too difficult to do this, but here
> is an alternative, client-side workaround.
> 
> -- >8 --
> [PATCH] fetch-pack: give up after getting too many "ack continue"

So I did test your patch.  In the big, slow repository it cuts down the
time for a

  git fetch git://www.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.16.y.git master:v2.6.16-stable

from like 6min to about 7s.

Thanks!

  Ralf