send-pack: switch to using git-rev-list --stdin
authorAndy Whitcroft <apw@shadowen.org>
Tue, 5 Sep 2006 21:52:12 +0000 (22:52 +0100)
committerJunio C Hamano <junkio@cox.net>
Thu, 7 Sep 2006 09:44:25 +0000 (02:44 -0700)
commitc727fe2afcb86195d72136b4b3ba4b5fea5514d5
treea300e24cbc42ff904941465ff5d5af97688a69fc
parent7bbf88c52b202d543310123e1bad9a44b2d6f028
send-pack: switch to using git-rev-list --stdin

When we are generating packs to update remote repositories we
want to supply as much information as possible about the revisions
that already exist to rev-list in order optimise the pack as much
as possible.  We need to pass two revisions for each branch we are
updating in the remote repository and one for each additional branch.
Where the remote repository has numerous branches we can run out
of command line space to pass them.

Utilise the git-rev-list --stdin mode to allow unlimited numbers
of revision constraints.  This allows us to move back to the much
simpler unordered revision selection code.

[jc: added some comments in the code to describe the pipe flow
 a bit.]

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
send-pack.c