Code

Fix potential command line overflow in hooks--update
authorAndy Parkins <andyparkins@gmail.com>
Tue, 13 Feb 2007 14:23:58 +0000 (14:23 +0000)
committerJunio C Hamano <junkio@cox.net>
Tue, 13 Feb 2007 17:33:09 +0000 (09:33 -0800)
In a repository with a large number of refs, the following command line
could easily overflow the command line size limitations

 git-rev-list $newref $(git-rev-parse --not --all)

Fortunately, git-rev-list already has the means to cope with this
situation with the --stdin switch

 git-rev-parse --not --all | git-rev-list --stdin $newref

Which is exactly what this patch does.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
templates/hooks--update

index d4253cbcfb5888fa1ed4935310b677f1e6b3cf17..e8c536fb616d9fe93fe50edf4bc862b58ad6af1b 100644 (file)
@@ -148,7 +148,7 @@ case "$refname_type" in
                        # This shows all log entries that are not already covered by
                        # another ref - i.e. commits that are now accessible from this
                        # ref that were previously not accessible
-                       git-rev-list --pretty $newref $(git-rev-parse --not --all)
+                       git-rev-parse --not --all | git-rev-list --stdin --pretty $newref
                        echo $LOGEND
                else
                        # oldrev is valid