From: Linus Torvalds Date: Tue, 28 Jun 2005 18:17:05 GMT Subject: Re: CAREFUL! No more delta object support! Message-ID: In-Reply-To: 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