Merge branch 'js/bisect-no-checkout' into maint
authorJunio C Hamano <gitster@pobox.com>
Tue, 1 Nov 2011 23:03:35 +0000 (16:03 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 1 Nov 2011 23:03:35 +0000 (16:03 -0700)
* js/bisect-no-checkout:
bisect: fix exiting when checkout failed in bisect_start()

1  2 
git-bisect.sh
diff --combined git-bisect.sh
index 2524060475ef369c0b9a4641aa88dc2ad6083da4,5fb42917a0a9c498dfc0c661f2f088d231024fd9..99efbe884528ffa730d6c0297e20d9de93d5ad9e
@@@ -45,7 -45,10 +45,7 @@@ bisect_head(
  
  bisect_autostart() {
        test -s "$GIT_DIR/BISECT_START" || {
 -              (
 -                      gettext "You need to start by \"git bisect start\"" &&
 -                      echo
 -              ) >&2
 +              gettextln "You need to start by \"git bisect start\"" >&2
                if test -t 0
                then
                        # TRANSLATORS: Make sure to include [Y] and [n] in your
@@@ -126,7 -129,8 +126,8 @@@ bisect_start() 
                start_head=$(cat "$GIT_DIR/BISECT_START")
                if test "z$mode" != "z--no-checkout"
                then
-                       git checkout "$start_head" --
+                       git checkout "$start_head" -- ||
+                       die "$(eval_gettext "Checking out '\$start_head' failed. Try 'git bisect reset <validbranch>'.")"
                fi
        else
                # Get rev from where we start.
@@@ -269,7 -273,10 +270,7 @@@ bisect_next_check() 
        t,,good)
                # have bad but not good.  we could bisect although
                # this is less optimum.
 -              (
 -                      gettext "Warning: bisecting only with a bad commit." &&
 -                      echo
 -              ) >&2
 +              gettextln "Warning: bisecting only with a bad commit." >&2
                if test -t 0
                then
                        # TRANSLATORS: Make sure to include [Y] and [n] in your
  
                if test -s "$GIT_DIR/BISECT_START"
                then
 -                      (
 -                              gettext "You need to give me at least one good and one bad revisions.
 -(You can use \"git bisect bad\" and \"git bisect good\" for that.)" &&
 -                              echo
 -                      ) >&2
 +                      gettextln "You need to give me at least one good and one bad revisions.
 +(You can use \"git bisect bad\" and \"git bisect good\" for that.)" >&2
                else
 -                      (
 -                              gettext "You need to start by \"git bisect start\".
 +                      gettextln "You need to start by \"git bisect start\".
  You then need to give me at least one good and one bad revisions.
 -(You can use \"git bisect bad\" and \"git bisect good\" for that.)" &&
 -                              echo
 -                      ) >&2
 +(You can use \"git bisect bad\" and \"git bisect good\" for that.)" >&2
                fi
                exit 1 ;;
        esac
@@@ -343,7 -356,7 +344,7 @@@ bisect_visualize() 
  
  bisect_reset() {
        test -s "$GIT_DIR/BISECT_START" || {
 -              gettext "We are not bisecting."; echo
 +              gettextln "We are not bisecting."
                return
        }
        case "$#" in
@@@ -416,15 -429,18 +417,15 @@@ bisect_run () 
        while true
        do
                command="$@"
 -              eval_gettext "running \$command"; echo
 +              eval_gettextln "running \$command"
                "$@"
                res=$?
  
                # Check for really bad run error.
                if [ $res -lt 0 -o $res -ge 128 ]
                then
 -                      (
 -                              eval_gettext "bisect run failed:
 -exit code \$res from '\$command' is < 0 or >= 128" &&
 -                              echo
 -                      ) >&2
 +                      eval_gettextln "bisect run failed:
 +exit code \$res from '\$command' is < 0 or >= 128" >&2
                        exit $res
                fi
  
                if sane_grep "first bad commit could be any of" "$GIT_DIR/BISECT_RUN" \
                        > /dev/null
                then
 -                      (
 -                              gettext "bisect run cannot continue any more" &&
 -                              echo
 -                      ) >&2
 +                      gettextln "bisect run cannot continue any more" >&2
                        exit $res
                fi
  
                if [ $res -ne 0 ]
                then
 -                      (
 -                              eval_gettext "bisect run failed:
 -'bisect_state \$state' exited with error code \$res" &&
 -                              echo
 -                      ) >&2
 +                      eval_gettextln "bisect run failed:
 +'bisect_state \$state' exited with error code \$res" >&2
                        exit $res
                fi
  
                if sane_grep "is the first bad commit" "$GIT_DIR/BISECT_RUN" > /dev/null
                then
 -                      gettext "bisect run success"; echo
 +                      gettextln "bisect run success"
                        exit 0;
                fi