X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-bisect.sh;h=20f6dd5625160f65cde186bb17138c6ffbc1ff12;hb=ca0f515d75ee3328b8fa70f6eeedb4f06ba79028;hp=b2186a86279e8919214bb205400a05f32a316c3b;hpb=d4c8c55fab116a22284696143f434574c32ee7e4;p=git.git diff --git a/git-bisect.sh b/git-bisect.sh index b2186a862..20f6dd562 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -59,6 +59,39 @@ bisect_autostart() { } bisect_start() { + # + # Check for one bad and then some good revisions. + # + has_double_dash=0 + for arg; do + case "$arg" in --) has_double_dash=1; break ;; esac + done + orig_args=$(git rev-parse --sq-quote "$@") + bad_seen=0 + eval='' + while [ $# -gt 0 ]; do + arg="$1" + case "$arg" in + --) + shift + break + ;; + *) + rev=$(git rev-parse -q --verify "$arg^{commit}") || { + test $has_double_dash -eq 1 && + die "$(eval_gettext "'\$arg' does not appear to be a valid revision")" + break + } + case $bad_seen in + 0) state='bad' ; bad_seen=1 ;; + *) state='good' ;; + esac + eval="$eval bisect_write '$state' '$rev' 'nolog'; " + shift + ;; + esac + done + # # Verify HEAD. # @@ -97,39 +130,6 @@ bisect_start() { # bisect_clean_state || exit - # - # Check for one bad and then some good revisions. - # - has_double_dash=0 - for arg; do - case "$arg" in --) has_double_dash=1; break ;; esac - done - orig_args=$(git rev-parse --sq-quote "$@") - bad_seen=0 - eval='' - while [ $# -gt 0 ]; do - arg="$1" - case "$arg" in - --) - shift - break - ;; - *) - rev=$(git rev-parse -q --verify "$arg^{commit}") || { - test $has_double_dash -eq 1 && - die "$(eval_gettext "'\$arg' does not appear to be a valid revision")" - break - } - case $bad_seen in - 0) state='bad' ; bad_seen=1 ;; - *) state='good' ;; - esac - eval="$eval bisect_write '$state' '$rev' 'nolog'; " - shift - ;; - esac - done - # # Change state. # In case of mistaken revs or checkout error, or signals received,