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 3a4bf81..68fcff6 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() {