summaryrefslogtreecommitdiff
path: root/git-bisect.sh
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2007-10-26 03:39:37 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-10-27 06:27:24 (GMT)
commit71b0251cdd2cc35a983e21d4e71285db56d2a519 (patch)
tree252b50aa23c9558335a261c43a04edc3e0ecc8f5 /git-bisect.sh
parent37f9fd0dde454db08d342e5ce7625e012507bb9b (diff)
downloadgit-71b0251cdd2cc35a983e21d4e71285db56d2a519.zip
git-71b0251cdd2cc35a983e21d4e71285db56d2a519.tar.gz
git-71b0251cdd2cc35a983e21d4e71285db56d2a519.tar.bz2
Bisect run: "skip" current commit if script exit code is 125.
This is incompatible with previous versions because an exit code of 125 used to mark current commit as "bad". But hopefully this exit code is not much used by test scripts or other programs. (126 and 127 are used by POSIX compliant shells to mean "found but not executable" and "command not found", respectively.) Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-bisect.sh')
-rwxr-xr-xgit-bisect.sh11
1 files changed, 10 insertions, 1 deletions
diff --git a/git-bisect.sh b/git-bisect.sh
index f8d0099..180c6c2 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -392,7 +392,10 @@ bisect_run () {
fi
# Find current state depending on run success or failure.
- if [ $res -gt 0 ]; then
+ # A special exit code of 125 means cannot test.
+ if [ $res -eq 125 ]; then
+ state='skip'
+ elif [ $res -gt 0 ]; then
state='bad'
else
state='good'
@@ -404,6 +407,12 @@ bisect_run () {
cat "$GIT_DIR/BISECT_RUN"
+ if grep "first bad commit could be any of" "$GIT_DIR/BISECT_RUN" \
+ > /dev/null; then
+ echo >&2 "bisect run cannot continue any more"
+ exit $res
+ fi
+
if [ $res -ne 0 ]; then
echo >&2 "bisect run failed:"
echo >&2 "'bisect_state $state' exited with error code $res"