Code

bisect: improve error msg of 'bisect reset' when original HEAD is deleted
authorSZEDER Gábor <szeder@ira.uka.de>
Sun, 10 Oct 2010 21:48:57 +0000 (23:48 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Oct 2010 22:07:50 +0000 (15:07 -0700)
'git bisect reset' (without the optional <commit> argument) returns to
the original HEAD from where the bisection was started.  However,
when, for whatever reason, the user deleted the original HEAD before
invoking 'git bisect reset', then all he gets is an error message from
'git checkout':

  fatal: invalid reference: somebranch

Let's try to be more helpful with an error message better describing
what went wrong and a suggestion about how to resolve the situation:

  Could not check out original HEAD 'somebranch'. Try 'git bisect reset <commit>'.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-bisect.sh

index 3a4bf8150d1e568711cf77a9caa96e2877eb74ea..68fcff6dbf0247e2add6524667aa55f7c6beb669 100755 (executable)
@@ -316,7 +316,12 @@ bisect_reset() {
        *)
            usage ;;
        esac
-       git checkout "$branch" -- && bisect_clean_state
+       if git checkout "$branch" -- ; then
+               bisect_clean_state
+       else
+               die "Could not check out original HEAD '$branch'." \
+                               "Try 'git bisect reset <commit>'."
+       fi
 }
 
 bisect_clean_state() {