Re: [PATCH v2 3/3] {fetch,upload}-pack: allow --depth=0 for infinite depth
- From
Jeff King <peff@peff.net>
- Date
- Aug 24, 2010, 17:46 UTC
- Message-ID
- <20100824174622.GA31283@sigill.intra.peff.net>
- In-Reply-To
- <7vvd6zx63h.fsf@alter.siamese.dyndns.org>
On Tue, Aug 24, 2010 at 10:39:46AM -0700, Junio C Hamano wrote:
Show 14 quoted lines
> Jeff King <peff@peff.net> writes: > > > On Mon, Aug 23, 2010 at 10:08:24PM +1000, Nguyễn Thái Ngọc Duy wrote: > > > >> Users can do --depth=2147483648 for infinite depth now. It just looks > >> ugly. So make "0" special (i.e. infinite depth) at plumbing/protocol > >> level. > > > > What happens if I connect to an older server? Shouldn't "I understand > > depth=0 is infinite" be a server capability, and we hack around it by > > sending depth=2^32-1 when we have a modern client but an older server? > > Good point. Do we also need to find out how wide an int is on the other > end in that case?
I doubt it. We can probably assume that the remote can handle a signed 32-bit depth (so really, my example should have been 2^31-1). If they can't, then it would probably be at best an unsigned 16-bit int, in which case we could only handle a depth of 65535 commits. There are way more than that in common repositories, so --depth with such an implementation would be pretty broken already.
-Peff