bisect: use && to connect statements that are deferred with eval.

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@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jon Seymour 2011-08-04 22:00:58 +10:00 committed by Junio C Hamano
parent 4764f46492
commit 6ba7acffdd

View File

@ -86,7 +86,7 @@ bisect_start() {
0) state='bad' ; bad_seen=1 ;; 0) state='bad' ; bad_seen=1 ;;
*) state='good' ;; *) state='good' ;;
esac esac
eval="$eval bisect_write '$state' '$rev' 'nolog'; " eval="$eval bisect_write '$state' '$rev' 'nolog' &&"
shift shift
;; ;;
esac esac
@ -145,7 +145,7 @@ bisect_start() {
# #
echo "$start_head" >"$GIT_DIR/BISECT_START" && echo "$start_head" >"$GIT_DIR/BISECT_START" &&
git rev-parse --sq-quote "$@" >"$GIT_DIR/BISECT_NAMES" && 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 echo "git bisect start$orig_args" >>"$GIT_DIR/BISECT_LOG" || exit
# #
# Check if we can proceed to the next bisect state. # Check if we can proceed to the next bisect state.