Re: CAREFUL! No more delta object support!
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Jun 28, 2005, 18:17 UTC
- Message-ID
- <Pine.LNX.4.58.0506281111480.19755@ppc970.osdl.org>
- In-Reply-To
- <Pine.LNX.4.58.0506281019450.19755@ppc970.osdl.org>
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.
Show 5 quoted lines
> 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