diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2009-04-19 11:56:16 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-10 00:30:28 -0700 |
commit | 5a1d31c7e43a54c3a5275266745488de7208d871 (patch) | |
tree | 61f0dfefcd4bd2524333de52247f9d54fdc4126f | |
parent | ef24c7ca055f03c673c2b67a3a7c92bcc32f62f0 (diff) | |
download | git-5a1d31c7e43a54c3a5275266745488de7208d871.tar.gz git-5a1d31c7e43a54c3a5275266745488de7208d871.tar.xz |
bisect: use "git bisect--helper --next-exit" in "git-bisect.sh"
instead of "git bisect--helper --next-vars".
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-bisect.sh | 39 |
1 files changed, 9 insertions, 30 deletions
diff --git a/git-bisect.sh b/git-bisect.sh index 24712ff30..e1f300bed 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -279,19 +279,6 @@ bisect_auto_next() { bisect_next_check && bisect_next || : } -exit_if_skipped_commits () { - _tried=$1 - _bad=$2 - if test -n "$_tried" ; then - echo "There are only 'skip'ped commit left to test." - echo "The first bad commit could be any of:" - echo "$_tried" | tr '[|]' '[\012]' - test -n "$_bad" && echo "$_bad" - echo "We cannot bisect more!" - exit 2 - fi -} - bisect_checkout() { _rev="$1" _msg="$2" @@ -416,25 +403,17 @@ bisect_next() { # Return now if a checkout has already been done test "$?" -eq "1" && return - # Get bisection information - eval=$(eval "git bisect--helper --next-vars") && - eval "$eval" || exit + # Perform bisection computation, display and checkout + git bisect--helper --next-exit + res=$? - if [ -z "$bisect_rev" ]; then - # We should exit here only if the "bad" - # commit is also a "skip" commit (see above). - exit_if_skipped_commits "$bisect_tried" - echo "$bad was both good and bad" - exit 1 - fi - if [ "$bisect_rev" = "$bad" ]; then - exit_if_skipped_commits "$bisect_tried" "$bad" - echo "$bisect_rev is first bad commit" - git diff-tree --pretty $bisect_rev - exit 0 - fi + # Check if we should exit because bisection is finished + test $res -eq 10 && exit 0 - bisect_checkout "$bisect_rev" "$bisect_nr revisions left to test after this (roughly $bisect_steps steps)" + # Check for an error in the bisection process + test $res -ne 0 && exit $res + + return 0 } bisect_visualize() { |