git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: 2.6.0: Comment in rebase instruction has become too rigid

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 29, 2015, 18:17 UTC
Message-ID
<xmqqk2r99jjp.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<vpqzj0588i2.fsf@grenoble-inp.fr>
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
Show 14 quoted lines
>> Confirmed: Git 2.1.4 accepts this, 2.6 doesn't:
>>
>> Warning: the command isn't recognized in the following line:
>>  - # pick dbafac11052a0075233bdcf0b71f54d1503aa82d test
>>
>> You can fix this with 'git rebase --edit-todo'.
>> Or you can abort the rebase with 'git rebase --abort'.
>>
>> I didn't bisect, but I guess this was introduced in the series
>> introducing this check on the todolist before starting the bisection.
>
> Indeed:
>
> 804098bb30a5339cccb0be981a3e876245aa0ae5 is the first bad commit

Yup, before that series, expand_todo_ids -> transfom_todo_ids ended up reading each line with "while read -r command rest" loop and the we did not honor the usual "# at the beginning line is the comment" convention, which I think was a bug. With that commit, a separate step in check_bad_cmd_and_sha1 uses a similar looking "while read" loop but forgets to take '#' into account.

I know you alluded to preprocess what is fed to stripspace, but I wonder if we can remove the misguided call to stripspace in the first place and do something like the attached instead.

 git-rebase--interactive.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index f01637b..a64f77a 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -886,7 +886,6 @@ check_commit_sha () {
 # from the todolist in stdin
 check_bad_cmd_and_sha () {
 	retval=0
-	git stripspace --strip-comments |
 	(
 		while read -r line
 		do
@@ -896,7 +895,7 @@ check_bad_cmd_and_sha () {
 			sha1=$2
 
 			case $command in
-			''|noop|x|"exec")
+			'#'*|''|noop|x|"exec")
 				# Doesn't expect a SHA-1
 				;;
 			pick|p|drop|d|reword|r|edit|e|squash|s|fixup|f)
Previous: Matthieu MoyNext: Junio C Hamano
Message 4 of 6 in “2.6.0: Comment in rebase instruction has become too rigid”
  1. Nazri RamliySep 29, 2015
  2. Matthieu MoySep 29, 2015
  3. Matthieu MoySep 29, 2015
  4. Junio C HamanoSep 29, 2015
  5. Junio C HamanoSep 29, 2015
  6. Ralf ThielowSep 29, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.