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