CheckPush: workaround early bash 5.2 with buggy command substitution

Junio C Hamano committed Oct 26, 2022 at 10:33 UTC c9c459704f7210050af582c148b3fc2e99c12c11
1 file changed +14 -12
CheckPush
+14 -12
@@ -1,11 +1,10 @@
1 -#!/bin/sh
1 +#!/bin/dash
2
3 MASTER=master
4
5 for range in $(
6 - prev_branch=
6 {
8 - git for-each-ref --format='%(refname)' refs/heads/maint-* |
7 + git for-each-ref --format='%(refname)' refs/heads/maint-\* |
8 perl -e '
9 sub compare_dotted_version {
10 my (@ours) = split(/\./, $_[0]);
@@ -32,21 +31,24 @@ for range in $(
31 @maint) {
32 print "$_\n";
33 }
35 - '
34 + ' &&
35 cat <<-EOF
36 maint
37 $MASTER
38 next
39 EOF
40 } |
42 - while read branch
43 - do
44 - if test -n "$prev_branch"
45 - then
46 - echo "$branch..$prev_branch"
47 - fi
48 - prev_branch=$branch
49 - done
41 + {
42 + prev_branch=
43 + while read branch
44 + do
45 + if test -n "$prev_branch"
46 + then
47 + echo "$branch..$prev_branch"
48 + fi
49 + prev_branch=$branch
50 + done
51 + }
52 ) seen..jch
53 do
54 lg=$(git log --oneline "$range")