Christian Couder pointed out that the existing eval strategy swallows an initial non-zero return. Using && to connect the statements should fix this. Signed-off-by: Jon Seymour <jon.seymour@xxxxxxxxx> --- git-bisect.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 20f6dd5..a44ffe1 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -86,7 +86,7 @@ bisect_start() { 0) state='bad' ; bad_seen=1 ;; *) state='good' ;; esac - eval="$eval bisect_write '$state' '$rev' 'nolog'; " + eval="$eval bisect_write '$state' '$rev' 'nolog' &&" shift ;; esac @@ -145,7 +145,7 @@ bisect_start() { # echo "$start_head" >"$GIT_DIR/BISECT_START" && git rev-parse --sq-quote "$@" >"$GIT_DIR/BISECT_NAMES" && - eval "$eval" && + eval "$eval true" && echo "git bisect start$orig_args" >>"$GIT_DIR/BISECT_LOG" || exit # # Check if we can proceed to the next bisect state. -- 1.7.6.352.gd542a2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html