File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+ #
3
+ # Copyright (c) 2019 Denton Liu
4
+ #
5
+
6
+ test_description=' git rebase --fork-point test'
7
+
8
+ . ./test-lib.sh
9
+
10
+ # A---B---D---E (master)
11
+ # \
12
+ # C*---F---G (side)
13
+ #
14
+ # C was formerly part of master but master was rewound to remove C
15
+ #
16
+ test_expect_success setup '
17
+ test_commit A &&
18
+ test_commit B &&
19
+ test_commit C &&
20
+ git branch -t side &&
21
+ git reset --hard HEAD^ &&
22
+ test_commit D &&
23
+ test_commit E &&
24
+ git checkout side &&
25
+ test_commit F &&
26
+ test_commit G
27
+ '
28
+
29
+ test_rebase () {
30
+ expected=" $1 " &&
31
+ shift &&
32
+ test_expect_success " git rebase $* " "
33
+ git checkout master &&
34
+ git reset --hard E &&
35
+ git checkout side &&
36
+ git reset --hard G &&
37
+ git rebase $* &&
38
+ test_write_lines $expected >expect &&
39
+ git log --pretty=%s >actual &&
40
+ test_cmp expect actual
41
+ "
42
+ }
43
+
44
+ test_rebase ' G F E D B A'
45
+ test_rebase ' G F D B A' --onto D
46
+ test_rebase ' G F C E D B A' --no-fork-point
47
+ test_rebase ' G F C D B A' --no-fork-point --onto D
48
+ test_rebase ' G F E D B A' --fork-point refs/heads/master
49
+ test_rebase ' G F D B A' --fork-point --onto D refs/heads/master
50
+ test_rebase ' G F C E D B A' refs/heads/master
51
+ test_rebase ' G F C D B A' --onto D refs/heads/master
52
+
53
+ test_done
You can’t perform that action at this time.
0 commit comments