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