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

Re: [PATCH] t3404-rebase-interactive.sh: fix name of a rewording test

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Sep 12, 2023, 10:15 UTC
Message-ID
<45ee4ad1-f7a3-43d8-99ef-329efc9fcdba@gmail.com>
In-Reply-To
<xmqqwmwws5gn.fsf@gitster.g>
On 11/09/2023 23:36, Junio C Hamano wrote:
Show 17 quoted lines
> Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:
> 
>> The given test name made no sense to me at all; it seems to be a
>> concatenation of two unrelated things. This was introduced by
>> commit 0c164ae7a ("rebase -i: add another reword test", 20-08-20).
>>
>> Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
>>
>> ---
>> actually, i don't understand what the test even does. shouldn't it, to
>> match the description, actually dirty the tree and verify that the
>> operation fails?
>>
>> Cc: Phillip Wood <phillip.wood@dunelm.org.uk>
> 
> As a typofix the updated text looks more correct, but the above is a > very good point, so I'll let Phillip, whose 0c164ae7 (rebase -i: add
> another reword test, 2021-08-20) introduced this test, react first.

Thanks. There is a typo, but that typo is a missing "and", the title should be

no uncommitted changes when rewording and the todo list is reloaded
The purpose of the test is to ensure that
  (i) There are no uncommited changes when the editor runs. i.e.  we
      commit without running the editor and then reword by amending
      that commit. This ensures that we have the same user experience
      whether or not the commit was fast-forwarded [1].
(ii) That the todo list is re-read after the commit has been
      reworded. This is to allow the user to update the todo list while
      the rebase is paused for editing the commit message.

All of the action happens in the functions called from this test. set_reword_editor() sets up an editor that runs "git diff --exit-code HEAD" to ensure there are no uncommitted changes when it is run and also updates the todo list. Then check_reworded_commits() checks that the commits were reworded and that the todo list was updated.

Best Wishes
Phillip
[1] https://lore.kernel.org/git/20190812175046.GM20404@szeder.dev/
Show 19 quoted lines
> Thanks for spotting and fixing.
> 
>> ---
>>   t/t3404-rebase-interactive.sh | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
>> index 96a56aafbe..31ee5bc1f6 100755
>> --- a/t/t3404-rebase-interactive.sh
>> +++ b/t/t3404-rebase-interactive.sh
>> @@ -758,7 +758,7 @@ test_expect_success 'reword' '
>>   	git show HEAD~2 | grep "C changed"
>>   '
>>   
>> -test_expect_success 'no uncommited changes when rewording the todo list is reloaded' '
>> +test_expect_success 'no uncommitted changes when rewording' '
>>   	git checkout E &&
>>   	test_when_finished "git checkout @{-1}" &&
>>   	(
Previous: Junio C HamanoNext: Oswald Buddenhagen
Message 3 of 7 in “t3404-rebase-interactive.sh: fix name of a rewording test”
  1. t3404-rebase-interactive.sh: fix name of a rewording testOswald Buddenhagen, Sep 11, 2023
  2. Junio C HamanoSep 11, 2023
  3. Phillip WoodSep 12, 2023
  4. t3404-rebase-interactive.sh: fix typos in title of a rewording testOswald Buddenhagen, Sep 12, 2023
  5. Oswald BuddenhagenSep 12, 2023
  6. Phillip WoodSep 12, 2023
  7. Junio C HamanoSep 13, 2023

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.