rebase-interactive: trim leading whitespace from progress count
commitd94975185947bd8594a4a8564ec6040e8c242b70
authorJohannes Sixt <j6t@kdbg.org>
Thu, 28 Jul 2016 17:47:23 +0000 (28 19:47 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 28 Jul 2016 20:22:46 +0000 (28 13:22 -0700)
treef7e5fe7d2313a2120ae00e246989077c4d509b52
parent9588c52b75c6ec9cc75b045cdec4fe237038615b
rebase-interactive: trim leading whitespace from progress count

Interactive rebase uses 'wc -l' to write the current patch number
in a progress report. Some implementations of 'wc -l' produce spaces
before the number, leading to ugly output such as

  Rebasing (     3/8)

Remove the spaces using a trivial arithmetic evaluation.

Before 9588c52 (i18n: rebase-interactive: mark strings for
translation) this was not a problem because printf was used to
generate the text. Since that commit, the count is interpolated
directly from a shell variable into the text, where the spaces
remain. The total number of patches does not have this problem
even though it is interpolated from a shell variable in the same
manner, because the variable is set by an arithmetic evaluation.

Later in the script, there is a virtually identical case where
leading spaces are trimmed, but it uses a pattern substitution:

todocount=$(git stripspace --strip-comments <"$todo" | wc -l)
todocount=${todocount##* }

I did not choose this idiom because it adds a line of code, and
there is already an arithmetic evaluation in the vicinity of the
line that is changed here.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh