Re: CAREFUL! No more delta object support!
From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:00
On Tue, 28 Jun 2005, Linus Torvalds wrote:
I can certainly add an option to git-pack-file that disables writing of the index file, and just writes the pack-file to stdout.
Done.
I'm not sure I want to write the "parse incoming pack-file" thing, but git-unpack-objects comes _reasonably_ close (but right now it seeks around using the index file to resolve deltas, instead of keeping them in memory and resolving them when possible).
I'm still thinking about this one. I think I'll just do it. One problem here is that since we don't know how big the incoming pack-file will be, in a streaming input environment the receiver needs to either make the pack-file reception be the last thing it sees, or it will have to live with the fact that "git-unpack-objects" will read some more than it needs before it notices that it got it all... We can handle the latter either by padding (make the rule be that git-unpack-file will always read in chunks of 4kB max, and pad the output with 4kB of zero bytes or something, and then you can execute git-unpack-objects and continue reading stdin afterwards, removing any zeroes that git-unpack-file didn't eat), or by having git-unpack-objects flush anything after the final SHA1 to _its_ stdout, so that you can get the following data/commands in the stream from the unpack-file thing. Ugly, in any case. Linus