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
Ralf Thielow <ralf.thielow@gmail.com>
Date
Sep 29, 2015, 18:31 UTC
Message-ID
<CAN0XMOJDUMHX5WwVYoJVSuYKPHpf=+0Os=U34_zRDt1XPwPtQQ@mail.gmail.com>
In-Reply-To
<xmqqk2r99jjp.fsf@gitster.mtv.corp.google.com>
2015-09-29 20:17 GMT+02:00 Junio C Hamano <gitster@pobox.com>:
Show 49 quoted lines
> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
>
>>> 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")
If so, I think we should use "$comment_char"* here.
Show 7 quoted lines
>                                 # Doesn't expect a SHA-1
>                                 ;;
>                         pick|p|drop|d|reword|r|edit|e|squash|s|fixup|f)
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous: Junio C Hamano
Message 6 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.