зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
9588c52b75
Коммит
d949751859
|
@ -121,7 +121,7 @@ mark_action_done () {
|
|||
sed -e 1q < "$todo" >> "$done"
|
||||
sed -e 1d < "$todo" >> "$todo".new
|
||||
mv -f "$todo".new "$todo"
|
||||
new_count=$(git stripspace --strip-comments <"$done" | wc -l)
|
||||
new_count=$(( $(git stripspace --strip-comments <"$done" | wc -l) ))
|
||||
echo $new_count >"$msgnum"
|
||||
total=$(($new_count + $(git stripspace --strip-comments <"$todo" | wc -l)))
|
||||
echo $total >"$end"
|
||||
|
|
Загрузка…
Ссылка в новой задаче