Re: CAREFUL! No more delta object support!
From: Daniel Barkalow <hidden>
Date: 2016-06-15 22:42:00
On Tue, 28 Jun 2005, Linus Torvalds wrote:
On Tue, 28 Jun 2005, Linus Torvalds wrote:quoted
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.
What I actually meant was that it would be useful for git-ssh-push to be able to pack stuff as a function call rather than execing an external program, because just sticking git-ssh-push at the end of a pipeline doesn't work if you don't remember what the remote side has.
quoted
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 possibility would be to put a special type tag (like '\0') before the hash, so that the format is more deterministic.
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...
In a completely streaming environment, yes; but the receiving side is the one sending commands, so you don't run into the next thing unless you're overlapping requests. Failing that, we can just keep a 4k buffer of stuff we've already read around; we don't have to worry about reading into something we won't want to read at all. -Daniel *This .sig left intentionally blank*