Re: [PATCH] send-pack --keep: do not explode into loose objects on the receiving end.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Oct 29, 2006, 08:05 UTC
- Message-ID
- <7vslh74kdq.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <20061029075638.GB3847@spearce.org>
Shawn Pearce <spearce@spearce.org> writes:
Show 5 quoted lines
> I was thinking of just reading the pack header in receive-pack, > checking the object count, and if its over a configured threshold > call index-pack rather than unpack-objects. Unfortunately I just > realized that if we read the pack header to make that decision then > its gone and the child process won't have it. :-(
If you want to do that, that is certainly possible.
You can read the first block in the parent (without discarding), make the decision and then fork()+exec() either unpack-objects or index-pack and feed it from the parent. The parent first feeds the initial block it read to make that decision, and then becomes a cat that reads from send-pack and writes to the child process that is either unpack-objects or index-pack.