send-pack --keep: do not explode into loose objects on the receiving end.
commitc7740a943ec896247ebc5514b6be02710caf3c53
authorJunio C Hamano <junkio@cox.net>
Sun, 29 Oct 2006 07:47:56 +0000 (29 00:47 -0700)
committerJunio C Hamano <junkio@cox.net>
Sun, 29 Oct 2006 07:49:17 +0000 (29 00:49 -0700)
treeab918e6d34d35d714a180f57e946afdc81aa0a57
parentb89c4e93cc1939493c2bb9b6c3f60eabaf653eff
send-pack --keep: do not explode into loose objects on the receiving end.

This adds "keep-pack" extension to send-pack vs receive pack protocol,
and makes the receiver invoke "index-pack --stdin --fix-thin".

With this, you can ask send-pack not to explode the result into
loose objects on the receiving end.

I've patched has_sha1_file() to re-check for added packs just
like is done in read_sha1_file() for now, but I think the static
"re-prepare" interface for packs was a mistake.  Creation of a
new pack inside a process that needs to read objects in them
back ought to be a rare event, so we are better off making the
callers (such as receive-pack that calls "index-pack --stdin
--fix-thin") explicitly call re-prepare.  That way we do not
have to penalize ordinary users of read_sha1_file() and
has_sha1_file().

We would need to fix this someday.

Signed-off-by: Junio C Hamano <junkio@cox.net>
receive-pack.c
send-pack.c
sha1_file.c
t/t5400-send-pack.sh