OSDN Git Service

rebase -i: actually show the diffstat when being verbose
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Sun, 8 Jul 2007 02:02:13 +0000 (03:02 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Jul 2007 01:24:19 +0000 (18:24 -0700)
The "while" loop in the function do_rest is not supposed to ever be
exited.  Instead, the function do_one checks if there is nothing left,
and cleans up and exits if that is the case.  So the diffstat code
belongs there.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh

index 705178f..1a064af 100755 (executable)
@@ -239,7 +239,10 @@ do_next () {
        fi &&
        message="$GIT_REFLOG_ACTION: $HEADNAME onto $SHORTONTO)" &&
        git update-ref -m "$message" $HEADNAME $NEWHEAD $OLDHEAD &&
-       git symbolic-ref HEAD $HEADNAME &&
+       git symbolic-ref HEAD $HEADNAME && {
+               test ! -f "$DOTEST"/verbose ||
+                       git diff --stat $(cat "$DOTEST"/head)..HEAD
+       } &&
        rm -rf "$DOTEST" &&
        warn "Successfully rebased and updated $HEADNAME."
 
@@ -251,9 +254,6 @@ do_rest () {
        do
                do_next
        done
-       test -f "$DOTEST"/verbose &&
-               git diff --stat $(cat "$DOTEST"/head)..HEAD
-       exit
 }
 
 while case $# in 0) break ;; esac