@@ -20,20 +20,27 @@ RET=0
2020PREV_BRANCH=` git name-rev --name-only HEAD`
2121PREV_HEAD=` git rev-parse HEAD`
2222for 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
3744done
3845git checkout --quiet $PREV_BRANCH 2> /dev/null || git checkout --quiet $PREV_HEAD
3946exit $RET
0 commit comments