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 <redacted>
---
git-rebase--interactive.sh | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 67f2ee2..84148a9 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -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--
1.5.3.rc0.2712.g125b7f