Skip to content

Commit fbf5d3b

Browse files
committed
Merge #10480: Improve commit-check-script.sh
5432fc3 Fail on commit with VERIFY SCRIPT but no scripted-diff (Pieter Wuille) Tree-SHA512: 687b6c825f6f882f9c8e9d301bc893383710bad70216fa40b95f7e24d83a7148f9c759c3e4bd905a6cd26960829f8f6bd03106dc6c83ac312bf34ad239917018
2 parents a4fe077 + 5432fc3 commit fbf5d3b

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

contrib/devtools/commit-script-check.sh

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,27 @@ RET=0
2020
PREV_BRANCH=`git name-rev --name-only HEAD`
2121
PREV_HEAD=`git rev-parse HEAD`
2222
for i in `git rev-list --reverse $1`; do
23-
git rev-list -n 1 --pretty="%s" $i | grep -q "^scripted-diff:" || continue
24-
git checkout --quiet $i^ || exit
25-
SCRIPT="`git rev-list --format=%b -n1 $i | sed '/^-BEGIN VERIFY SCRIPT-$/,/^-END VERIFY SCRIPT-$/{//!b};d'`"
26-
if test "x$SCRIPT" = "x"; then
27-
echo "Error: missing script for: $i"
28-
echo "Failed"
29-
RET=1
30-
else
31-
echo "Running script for: $i"
32-
echo "$SCRIPT"
33-
eval "$SCRIPT"
34-
git --no-pager diff --exit-code $i && echo "OK" || (echo "Failed"; false) || RET=1
23+
if git rev-list -n 1 --pretty="%s" $i | grep -q "^scripted-diff:"; then
24+
git checkout --quiet $i^ || exit
25+
SCRIPT="`git rev-list --format=%b -n1 $i | sed '/^-BEGIN VERIFY SCRIPT-$/,/^-END VERIFY SCRIPT-$/{//!b};d'`"
26+
if test "x$SCRIPT" = "x"; then
27+
echo "Error: missing script for: $i"
28+
echo "Failed"
29+
RET=1
30+
else
31+
echo "Running script for: $i"
32+
echo "$SCRIPT"
33+
eval "$SCRIPT"
34+
git --no-pager diff --exit-code $i && echo "OK" || (echo "Failed"; false) || RET=1
35+
fi
36+
git reset --quiet --hard HEAD
37+
else
38+
if git rev-list "--format=%b" -n1 $i | grep -q '^-\(BEGIN\|END\)[ a-zA-Z]*-$'; then
39+
echo "Error: script block marker but no scripted-diff in title"
40+
echo "Failed"
41+
RET=1
42+
fi
3543
fi
36-
git reset --quiet --hard HEAD
3744
done
3845
git checkout --quiet $PREV_BRANCH 2>/dev/null || git checkout --quiet $PREV_HEAD
3946
exit $RET

0 commit comments

Comments
 (0)