3 test_description
='git rebase interactive with rewording'
5 TEST_PASSES_SANITIZE_LEAK
=true
8 .
"$TEST_DIRECTORY"/lib-rebase.sh
10 test_expect_success
'setup' '
11 test_commit main file-1 test &&
13 git checkout -b stuff &&
15 test_commit feature_a file-2 aaa &&
16 test_commit feature_b file-2 ddd
19 test_expect_success
'reword without issues functions as intended' '
20 test_when_finished "reset_rebase" &&
22 git checkout stuff^0 &&
25 FAKE_LINES="pick 1 reword 2" FAKE_COMMIT_MESSAGE="feature_b_reworded" \
26 git rebase -i -v main &&
28 test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
29 test $(git rev-list --count HEAD) = 3
32 test_expect_success
'reword after a conflict preserves commit' '
33 test_when_finished "reset_rebase" &&
35 git checkout stuff^0 &&
38 test_must_fail env FAKE_LINES="reword 2" \
39 git rebase -i -v main &&
41 git checkout --theirs file-2 &&
43 FAKE_COMMIT_MESSAGE="feature_b_reworded" git rebase --continue &&
45 test "$(git log -1 --format=%B)" = "feature_b_reworded" &&
46 test $(git rev-list --count HEAD) = 2