Re: CAREFUL! No more delta object support!
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Jun 28, 2005, 05:09 UTC
- Message-ID
- <Pine.LNX.4.21.0506280049090.30848-100000@iabervon.org>
- In-Reply-To
- <Pine.LNX.4.58.0506271910390.19755@ppc970.osdl.org>
On Mon, 27 Jun 2005, Linus Torvalds wrote:
Show 9 quoted lines
> > > [.. git-ssh-pull hopefully working ..] > > > > No. The pull protocol Dan did expects to throw compressed > > representation around on the wire (which is valid if you assume > > uncompressed transfer) and does not use read-sha1-file -- > > write-sha1-file pair, so all three do not work. > > Fair enough. I'd prefer for the pull/push to push object packs around > anyway, so there's some more work there..
It shouldn't be hard to add; the main issue is determining when transfering a pack file is a good idea, because it probably doesn't make sense to transfer a pack file just because the source side has an object that the target side wants in that pack. (If you pull from someone who packed up the whole history of everything, which you already have, into a file with one new commit, you'd be sad to get the huge thing; you really want a little custom (or just limited) pack file.)
The ideal thing is probably to pick up some tricks from Mercurial in figuring out what needs to be transferred, and have the source side write a pack file directly to the connection, which the target side would then save directly. I never worked out exactly what those tricks were, though.
The next trick would be to put something in place of cleverly-chosen objects to specify what pack file they're in, so that the HTTP client could find things from a packed repository. (Or we could just have an option to unpack post-transfer.)
-Daniel *This .sig left intentionally blank*