Meta/CheckPush: really make sure 'match next' point on 'pu' matches 'next'

Junio C Hamano committed Oct 18, 2017 at 11:55 UTC 8ecb1c05ce5a749bd6c07a7bbf10ef8b9bb66da3
1 file changed +11 -9
CheckPush
+11 -9
@@ -55,13 +55,18 @@ do
55 fi
56 done
57
58 -if next_tree=$(git rev-parse next^{tree}) &&
58 +if ! next_equiv=$(git rev-parse --verify 'jch^{/^### match next}' 2>/dev/null) ||
59 + ! git diff --stat --exit-code next $next_equiv
60 +then
61 + next_tree=$(git rev-parse next^{tree}) &&
62 next_equiv=$(git rev-list --first-parent master..pu |
60 - xargs -n1 sh -c '
61 - echo $(git rev-parse $1^{tree}) $1
62 - ' - | sed -n -e "s/^$next_tree //p"
63 - ) &&
64 - test -n "$next_equiv"
63 + xargs -n1 sh -c '
64 + echo $(git rev-parse $1^{tree}) $1
65 + ' - | sed -n -e "s/^$next_tree //p"
66 + )
67 +fi
68 +
69 +if test -n "$next_equiv"
70 then
71 jch=$(git rev-list --first-parent master..jch | wc -l) &&
72 pu=$(git rev-list --first-parent master..pu | wc -l) &&
@@ -72,7 +77,4 @@ then
77 else
78 echo "master..$next..next..$jch..jch..$pu..pu"
79 fi
75 -elif match_next=$(git rev-parse 'jch^{/^### match next$}' 2>/dev/null)
76 -then
77 - git diff --stat "$match_next" next
80 fi