On 11/09/2023 23:36, Junio C Hamano wrote:
Oswald Buddenhagen <oswald.buddenhagen@xxxxxx> 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@xxxxxx>
---
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@xxxxxxxxxxxxx>
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@xxxxxxxxxx/
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}" &&
(