On Fri, 5 May 2006 08:10:50 -0700 (PDT), Linus Torvalds wrote:
Namely just have a mode to "git-send-pack" that uses the "--no-walk" flag
to generate the object list to send.
What that does is to never walk the object history: so it will just use
the "I HAVE THESE" and "I WANT THESE" commit references to directly
generate the list of commits, and then walks the trees to generate the
list of trees/blobs that differ between the particular end-points.
Oh, I think that's a great idea. I had proposed cutting the WANT list
down to a single commit, but I wasn't clever enough to think to also
cut down the HAVE walking to solve the problems that would have been
introduced by shallow clones.
And I think the resulting behavior is quite reasonable. I think one
can argue a sort of zero-one-infinity rule here. With history, either
you don't care about any of it, or else you really should care about
all of it.
-Carl