diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2007-11-20 06:39:53 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-11-20 01:01:46 -0800 |
commit | fce0499fad13815d936c1068b7a064030f543b3d (patch) | |
tree | dd749b31846e1c17feff0f76e252de8ff2dc5de6 | |
parent | Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting. (diff) | |
download | tgif-fce0499fad13815d936c1068b7a064030f543b3d.tar.xz |
Bisect reset: do nothing when not bisecting.
Before this patch, using "git bisect reset" when not bisecting
did a "git checkout master" for no good reason.
This also happened using "git bisect replay" when not bisecting
because "bisect_replay" starts by calling "bisect_reset".
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-bisect.sh | 4 | ||||
-rwxr-xr-x | t/t6030-bisect-porcelain.sh | 27 |
2 files changed, 30 insertions, 1 deletions
diff --git a/git-bisect.sh b/git-bisect.sh index 414f813be7..6f20a297a5 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -328,6 +328,10 @@ bisect_visualize() { } bisect_reset() { + test -f "$GIT_DIR/BISECT_NAMES" || { + echo "We are not bisecting." + return + } case "$#" in 0) if [ -s "$GIT_DIR/head-name" ]; then branch=`cat "$GIT_DIR/head-name"` diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index f09db6244e..2ba4b00e52 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -71,6 +71,31 @@ test_expect_success 'bisect start with one bad and good' ' git bisect next ' +test_expect_success 'bisect reset: back in the master branch' ' + git bisect reset && + echo "* master" > branch.expect && + git branch > branch.output && + cmp branch.expect branch.output +' + +test_expect_success 'bisect reset: back in another branch' ' + git checkout -b other && + git bisect start && + git bisect good $HASH1 && + git bisect bad $HASH3 && + git bisect reset && + echo " master" > branch.expect && + echo "* other" >> branch.expect && + git branch > branch.output && + cmp branch.expect branch.output +' + +test_expect_success 'bisect reset when not bisecting' ' + git bisect reset && + git branch > branch.output && + cmp branch.expect branch.output +' + test_expect_success 'bisect reset removes packed refs' ' git bisect reset && git bisect start && @@ -179,7 +204,7 @@ test_expect_success 'bisect skip: add line and then a new test' ' git bisect skip && git bisect good > my_bisect_log.txt && grep "$HASH5 is first bad commit" my_bisect_log.txt && - git bisect log > log_to_replay.txt + git bisect log > log_to_replay.txt && git bisect reset ' |