Subject: [PATCH] fix repacking with lots of tags

From: Jim Radford <[email-masked]>
Date: Sun, 2 Apr 2006 20:50:17 -0700

Use git-rev-list's --all instead of git-rev-parse's to keep from
hitting the shell's argument list length limits when repacking
with lots of tags.

diff --git a/git-repack.sh b/git-repack.sh
index bc90112..a5d349f 100755
--- a/git-repack.sh
+++ b/git-repack.sh
@@ -29,12 +29,10 @@ PACKDIR="$GIT_OBJECT_DIRECTORY/pack"
 case ",$all_into_one," in
 ,,)
 	rev_list='--unpacked'
-	rev_parse='--all'
 	pack_objects='--incremental'
 	;;
 ,t,)
 	rev_list=
-	rev_parse='--all'
 	pack_objects=
 
 	# Redundancy check in all-into-one case is trivial.
@@ -43,7 +41,7 @@ case ",$all_into_one," in
 	;;
 esac
 pack_objects="$pack_objects $local $quiet $no_reuse_delta"
-name=$(git-rev-list --objects $rev_list $(git-rev-parse $rev_parse) 2>&1 |
+name=$(git-rev-list --objects --all $rev_list 2>&1 |
 	git-pack-objects --non-empty $pack_objects .tmp-pack) ||
 	exit 1
 if [ -z "$name" ]; then