From 4e6738778b30a5063579ad4b4ba34e12547f0e7c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 14 Jan 2008 20:01:21 -0800 Subject: Squelch bogus progress output from git-rebase--interactive The command repeats "Rebasing (1/1)" many times even when there is only one task remaining, because mark_action_done() is called to skip comment and empty lines in the TODO file. This should fix it. Signed-off-by: Junio C Hamano --- git-rebase--interactive.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'git-rebase--interactive.sh') diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index acdcc5417a..402ff3782c 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -73,14 +73,19 @@ comment_for_reflog () { esac } +last_count= mark_action_done () { sed -e 1q < "$TODO" >> "$DONE" sed -e 1d < "$TODO" >> "$TODO".new mv -f "$TODO".new "$TODO" count=$(($(grep -ve '^$' -e '^#' < "$DONE" | wc -l))) total=$(($count+$(grep -ve '^$' -e '^#' < "$TODO" | wc -l))) - printf "Rebasing (%d/%d)\r" $count $total - test -z "$VERBOSE" || echo + if test "$last_count" != "$count" + then + last_count=$count + printf "Rebasing (%d/%d)\r" $count $total + test -z "$VERBOSE" || echo + fi } make_patch () { -- cgit v1.2.3