Re: [PATCH] clone: check if server supports shallow clones
- From
Jeff King <peff@peff.net>
- Date
- Jun 17, 2015, 16:59 UTC
- Message-ID
- <20150617165909.GB22689@peff.net>
- In-Reply-To
- <xmqq8ubi47jo.fsf@gitster.dls.corp.google.com>
On Wed, Jun 17, 2015 at 09:35:23AM -0700, Junio C Hamano wrote:
Show 9 quoted lines
> > Of course it's hard to add to the test suite, since we do not have a way > > of hitting a server that does not understand shallow (I simply fudged > > server_supports() to return false on the client). > > We've had the "shallow" capability advertised since ed09aef0 > (support fetching into a shallow repository, 2006-10-30), and this > patch itself may not be that super-important in practice. Let's not > worry too much about a test for situations that may not likely > matter to us [*1*].
I had actually started looking at doing a generic interop testing suite. It would be nice to be able to do something like:
cd t/interop ./run v1.0.0 v2.0.0 ./t0001-clone.sh
and then the test script looks something like:
test_expect_success 'clone with A from B' ' git.a clone -u "git.b upload-pack" '
The "run" script is similar to the version in t/perf that builds arbitrary revisions for testing, but with the twist that it points the PATH to "git.a" and "git.b", which symlink into the bin-wrappers/ of the built directories (and probably disallows bare "git" to prevent mistakes).
But I agree that this particular bug is not all that exciting to test.
> *1* How behind are re-implementations of upload-pack by other > people, I have to wonder, though?
JGit advertises "shallow". Libgit2 does not, but it also does not implement upload-pack. :)
I do wonder which server Mike was hitting to come across this in the first place. Maybe the Google Code dulwich-based one?
-Peff