Thin pack generation: optimization.
authorJunio C Hamano <junkio@cox.net>
Thu, 6 Apr 2006 06:24:57 +0000 (23:24 -0700)
committerJunio C Hamano <junkio@cox.net>
Fri, 7 Apr 2006 09:08:38 +0000 (02:08 -0700)
commit5379a5c5ee45d1380240a47573c7571de92626bb
tree78650a6645af528e687a1b86a26f7acae67771da
parent9760662f1a7a06516ca249a73e5c1a6fb6c0e26e
Thin pack generation: optimization.

Jens Axboe noticed that recent "git push" has become very slow
since we made --thin transfer the default.

Thin pack generation to push a handful revisions that touch
relatively small number of paths out of huge tree was stupid; it
registered _everything_ from the excluded revisions.  As a
result, "Counting objects" phase was unnecessarily expensive.

This changes the logic to register the blobs and trees from
excluded revisions only for paths we are actually going to send
to the other end.

Signed-off-by: Junio C Hamano <junkio@cox.net>
pack-objects.c