]> git.ipfire.org Git - thirdparty/git.git/commitdiff
CheckPush: workaround early bash 5.2 with buggy command substitution
authorJunio C Hamano <gitster@pobox.com>
Wed, 26 Oct 2022 17:33:39 +0000 (10:33 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 26 Oct 2022 17:33:39 +0000 (10:33 -0700)
CheckPush

index 07decedfc37f19958332cec1184374e058077afb..61b71d8b99145e24bfd1dd1aa4f6c7e317caf56b 100755 (executable)
--- a/CheckPush
+++ b/CheckPush
@@ -1,11 +1,10 @@
-#!/bin/sh
+#!/bin/dash
 
 MASTER=master
 
 for range in $(
-       prev_branch=
        {
-               git for-each-ref --format='%(refname)' refs/heads/maint-* |
+               git for-each-ref --format='%(refname)' refs/heads/maint-\* |
                perl -e '
                        sub compare_dotted_version {
                                my (@ours) = split(/\./, $_[0]);
@@ -32,21 +31,24 @@ for range in $(
                             @maint) {
                                print "$_\n";
                        }
-               '
+               ' &&
                cat <<-EOF
                maint
                $MASTER
                next
                EOF
        } |
-       while read branch
-       do
-               if test -n "$prev_branch"
-               then
-                       echo "$branch..$prev_branch"
-               fi
-               prev_branch=$branch
-       done
+       {
+               prev_branch=
+               while read branch
+               do
+                       if test -n "$prev_branch"
+                       then
+                               echo "$branch..$prev_branch"
+                       fi
+                       prev_branch=$branch
+               done
+       }
 ) seen..jch
 do
        lg=$(git log --oneline "$range")