Code

bisect: improve error message of 'bisect log' while not bisecting
authorSZEDER Gábor <szeder@ira.uka.de>
Sun, 10 Oct 2010 21:48:56 +0000 (23:48 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Oct 2010 22:07:50 +0000 (15:07 -0700)
'git bisect log' is implemented by a direct invocation of 'cat
"$GIT_DIR/BISECT_LOG"', without any sanity checks.  Consequently,
running 'git bisect log' while not bisecting leads to an error,
because the bisect logfile doesn't exists.  The accompanying error
message

  cat: /path/to/repo/.git/BISECT_LOG: No such file or directory

is neither very helpful nor very friendly.

Instead of blindly trying to cat the log file, first check whether
there is a bisection going on (i.e. the bisect logfile exists), and
die with a more appropriate error message when not.

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

index 6e2acb8ef29e5003945bed17014a68b141ada454..3a4bf8150d1e568711cf77a9caa96e2877eb74ea 100755 (executable)
@@ -412,6 +412,10 @@ bisect_run () {
     done
 }
 
+bisect_log () {
+       test -s "$GIT_DIR/BISECT_LOG" || die "We are not bisecting."
+       cat "$GIT_DIR/BISECT_LOG"
+}
 
 case "$#" in
 0)
@@ -438,7 +442,7 @@ case "$#" in
     replay)
        bisect_replay "$@" ;;
     log)
-       cat "$GIT_DIR/BISECT_LOG" ;;
+       bisect_log ;;
     run)
         bisect_run "$@" ;;
     *)