# [PATCH 2/2] rebase-interactive: re-word "item count" comment

2 messages from 2015-03-04 to 2015-03-04. Participants: Eric Sunshine.
Thread: https://gitlist.dev/t/38701

## Eric Sunshine, 2015-03-04 07:53

Subject: [PATCH 1/2] rebase-interactive: suppress whitespace preceding item count
Message-ID: <1425455585-30186-1-git-send-email-sunshine@sunshineco.com>
URL: https://gitlist.dev/e/1425455585-30186-1-git-send-email-sunshine%40sunshineco.com

```
97f05f43 (Show number of TODO items for interactive rebase, 2014-12-10)
taught rebase-interactive to compute an item count with 'wc -l' and
display it in the instruction list comments:

    # Rebase 46640c6..5568fd5 onto 46640c6 (4 TODO item(s))

On Mac OS X, however, it renders as:

    # Rebase 46640c6..5568fd5 onto 46640c6 (       4 TODO item(s))

since 'wc -l' indents its output with leading spaces. Fix this.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
---

Consistent with existing tests in t3404, the new test uses plain 'grep'
rather than 'test_i18ngrep'.

 git-rebase--interactive.sh    | 1 +
 t/t3404-rebase-interactive.sh | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index c96b984..ab98b13 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1030,6 +1030,7 @@ test -n "$autosquash" && rearrange_squash "$todo"
 test -n "$cmd" && add_exec_commands "$todo"
 
 todocount=$(git stripspace --strip-comments <"$todo" | wc -l)
+todocount=${todocount##* }
 
 cat >>"$todo" <<EOF
 
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index a31f7e0..034eb35 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -1046,4 +1046,13 @@ test_expect_success 'respect core.abbrev' '
 	test 4 = $(grep -c "pick [0-9a-f]\{12,\}" todo-list)
 '
 
+test_expect_success 'todo count' '
+	write_script dump-raw.sh <<-\EOF &&
+		cat "$1"
+	EOF
+	test_set_editor "$(pwd)/dump-raw.sh" &&
+	git rebase -i HEAD~4 >actual &&
+	grep "^# Rebase ..* onto ..* ([0-9]" actual
+'
+
 test_done
-- 
2.3.1.340.gf490742

```

## Eric Sunshine, 2015-03-04 07:53

Subject: [PATCH 2/2] rebase-interactive: re-word "item count" comment
Message-ID: <1425455585-30186-2-git-send-email-sunshine@sunshineco.com>
URL: https://gitlist.dev/e/1425455585-30186-2-git-send-email-sunshine%40sunshineco.com
In-Reply-To: <1425455585-30186-1-git-send-email-sunshine@sunshineco.com>

```
97f05f43 (Show number of TODO items for interactive rebase, 2014-12-10)
taught rebase-interactive to display an item count in the instruction
list comments:

    # Rebase 46640c6..5568fd5 onto 46640c6 (4 TODO item(s))
    #
    # Commands:
    # p, pick = use commit
    # ...

However, with the exception of the --edit-todo option, "TODO" is a
one-off term, never presented to the user by rebase-interactive in
any other context. The item count is in fact the number of commands
("pick", "edit", etc.) remaining on the instruction sheet, and the
comment immediately following it talks about "Commands". Consequently,
replace "(# TODO item(s))" with the more accurate and meaningful
"(# command(s))".

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
---

Junio suggested[1] the wording "# todo items" in place of "# commits"
from the original submission, however, I find "(# TODO items)" quite
clunky to read. "(# commands)" feels more natural and streamlined, but
is also a case of bike-shedding and personal preference, so this patch
could easily be dropped.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/259365/focus=261143

 git-rebase--interactive.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index ab98b13..f7deeb0 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1034,7 +1034,7 @@ todocount=${todocount##* }
 
 cat >>"$todo" <<EOF
 
-$comment_char Rebase $shortrevisions onto $shortonto ($todocount TODO item(s))
+$comment_char Rebase $shortrevisions onto $shortonto ($todocount command(s))
 EOF
 append_todo_help
 git stripspace --comment-lines >>"$todo" <<\EOF
-- 
2.3.1.340.gf490742

```
