]>
Commit | Line | Data |
---|---|---|
d5e673b6 EW |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2006 Eric Wong | |
4 | # | |
5 | ||
6 | test_description='git rebase --merge --skip tests' | |
7 | ||
8 | . ./test-lib.sh | |
9 | ||
0cb0e143 | 10 | # we assume the default git am -3 --skip strategy is tested independently |
d5e673b6 EW |
11 | # and always works :) |
12 | ||
d5e673b6 EW |
13 | test_expect_success setup ' |
14 | echo hello > hello && | |
15 | git add hello && | |
16 | git commit -m "hello" && | |
17 | git branch skip-reference && | |
18 | ||
19 | echo world >> hello && | |
20 | git commit -a -m "hello world" && | |
21 | echo goodbye >> hello && | |
22 | git commit -a -m "goodbye" && | |
23 | ||
24 | git checkout -f skip-reference && | |
25 | echo moo > hello && | |
26 | git commit -a -m "we should skip this" && | |
27 | echo moo > cow && | |
28 | git add cow && | |
29 | git commit -m "this should not be skipped" && | |
30 | git branch pre-rebase skip-reference && | |
31 | git branch skip-merge skip-reference | |
32 | ' | |
33 | ||
41ac414e | 34 | test_expect_success 'rebase with git am -3 (default)' ' |
d492b31c | 35 | test_must_fail git rebase master |
4be60962 | 36 | ' |
d5e673b6 EW |
37 | |
38 | test_expect_success 'rebase --skip with am -3' ' | |
d5e673b6 EW |
39 | git rebase --skip |
40 | ' | |
3f735b66 JS |
41 | |
42 | test_expect_success 'rebase moves back to skip-reference' ' | |
43 | test refs/heads/skip-reference = $(git symbolic-ref HEAD) && | |
44 | git branch post-rebase && | |
45 | git reset --hard pre-rebase && | |
d492b31c | 46 | test_must_fail git rebase master && |
3f735b66 JS |
47 | echo "hello" > hello && |
48 | git add hello && | |
49 | git rebase --continue && | |
50 | test refs/heads/skip-reference = $(git symbolic-ref HEAD) && | |
51 | git reset --hard post-rebase | |
52 | ' | |
53 | ||
d5e673b6 EW |
54 | test_expect_success 'checkout skip-merge' 'git checkout -f skip-merge' |
55 | ||
d492b31c SB |
56 | test_expect_success 'rebase with --merge' ' |
57 | test_must_fail git rebase --merge master | |
58 | ' | |
d5e673b6 EW |
59 | |
60 | test_expect_success 'rebase --skip with --merge' ' | |
d5e673b6 EW |
61 | git rebase --skip |
62 | ' | |
63 | ||
64 | test_expect_success 'merge and reference trees equal' \ | |
5be60078 | 65 | 'test -z "`git diff-tree skip-merge skip-reference`"' |
d5e673b6 | 66 | |
3f735b66 JS |
67 | test_expect_success 'moved back to branch correctly' ' |
68 | test refs/heads/skip-merge = $(git symbolic-ref HEAD) | |
69 | ' | |
70 | ||
d5e673b6 EW |
71 | test_debug 'gitk --all & sleep 1' |
72 | ||
73 | test_done |