]> git.ipfire.org Git - thirdparty/git.git/blob - t/t3433-rebase-across-mode-change.sh
Sync with Git 2.45.1
[thirdparty/git.git] / t / t3433-rebase-across-mode-change.sh
1 #!/bin/sh
2
3 test_description='git rebase across mode change'
4
5 TEST_PASSES_SANITIZE_LEAK=true
6 . ./test-lib.sh
7
8 test_expect_success 'setup' '
9 mkdir DS &&
10 >DS/whatever &&
11 git add DS &&
12 git commit -m base &&
13
14 git branch side1 &&
15 git branch side2 &&
16
17 git checkout side1 &&
18 git rm -rf DS &&
19 test_ln_s_add unrelated DS &&
20 git commit -m side1 &&
21
22 git checkout side2 &&
23 >unrelated &&
24 git add unrelated &&
25 git commit -m commit1 &&
26
27 echo >>unrelated &&
28 git commit -am commit2
29 '
30
31 test_expect_success 'rebase changes with the apply backend' '
32 test_when_finished "git rebase --abort || true" &&
33 git checkout -b apply-backend side2 &&
34 git rebase side1
35 '
36
37 test_expect_success 'rebase changes with the merge backend' '
38 test_when_finished "git rebase --abort || true" &&
39 git checkout -b merge-backend side2 &&
40 git rebase -m side1
41 '
42
43 test_expect_success 'rebase changes with the merge backend with a delay' '
44 test_when_finished "git rebase --abort || true" &&
45 git checkout -b merge-delay-backend side2 &&
46 git rebase -m --exec "sleep 1" side1
47 '
48
49 test_done