]>
Commit | Line | Data |
---|---|---|
a9279c67 PW |
1 | #!/bin/sh |
2 | ||
3 | test_description='git rebase interactive with rewording' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | . "$TEST_DIRECTORY"/lib-rebase.sh | |
8 | ||
9 | test_expect_success 'setup' ' | |
d1c02d93 | 10 | test_commit main file-1 test && |
a9279c67 PW |
11 | |
12 | git checkout -b stuff && | |
13 | ||
14 | test_commit feature_a file-2 aaa && | |
15 | test_commit feature_b file-2 ddd | |
16 | ' | |
17 | ||
18 | test_expect_success 'reword without issues functions as intended' ' | |
19 | test_when_finished "reset_rebase" && | |
20 | ||
21 | git checkout stuff^0 && | |
22 | ||
23 | set_fake_editor && | |
24 | FAKE_LINES="pick 1 reword 2" FAKE_COMMIT_MESSAGE="feature_b_reworded" \ | |
d1c02d93 | 25 | git rebase -i -v main && |
a9279c67 PW |
26 | |
27 | test "$(git log -1 --format=%B)" = "feature_b_reworded" && | |
28 | test $(git rev-list --count HEAD) = 3 | |
29 | ' | |
30 | ||
31 | test_expect_success 'reword after a conflict preserves commit' ' | |
32 | test_when_finished "reset_rebase" && | |
33 | ||
34 | git checkout stuff^0 && | |
35 | ||
36 | set_fake_editor && | |
37 | test_must_fail env FAKE_LINES="reword 2" \ | |
d1c02d93 | 38 | git rebase -i -v main && |
a9279c67 PW |
39 | |
40 | git checkout --theirs file-2 && | |
41 | git add file-2 && | |
42 | FAKE_COMMIT_MESSAGE="feature_b_reworded" git rebase --continue && | |
43 | ||
44 | test "$(git log -1 --format=%B)" = "feature_b_reworded" && | |
45 | test $(git rev-list --count HEAD) = 2 | |
46 | ' | |
47 | ||
48 | test_done |