]>
Commit | Line | Data |
---|---|---|
3ebfe63a MH |
1 | #!/bin/sh |
2 | ||
3 | test_description='git rebase --abort tests' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
97b88dd5 BD |
7 | ### Test that we handle space characters properly |
8 | work_dir="$(pwd)/test dir" | |
9 | ||
3ebfe63a | 10 | test_expect_success setup ' |
97b88dd5 BD |
11 | mkdir -p "$work_dir" && |
12 | cd "$work_dir" && | |
13 | git init && | |
3ebfe63a MH |
14 | echo a > a && |
15 | git add a && | |
16 | git commit -m a && | |
17 | git branch to-rebase && | |
18 | ||
19 | echo b > a && | |
20 | git commit -a -m b && | |
21 | echo c > a && | |
22 | git commit -a -m c && | |
23 | ||
24 | git checkout to-rebase && | |
25 | echo d > a && | |
26 | git commit -a -m "merge should fail on this" && | |
27 | echo e > a && | |
28 | git commit -a -m "merge should fail on this, too" && | |
29 | git branch pre-rebase | |
30 | ' | |
31 | ||
4947cf9c MH |
32 | testrebase() { |
33 | type=$1 | |
34 | dotest=$2 | |
3ebfe63a | 35 | |
4947cf9c | 36 | test_expect_success "rebase$type --abort" ' |
97b88dd5 | 37 | cd "$work_dir" && |
4947cf9c | 38 | # Clean up the state from the previous one |
97b88dd5 BD |
39 | git reset --hard pre-rebase && |
40 | test_must_fail git rebase$type master && | |
41 | test -d "$dotest" && | |
4947cf9c MH |
42 | git rebase --abort && |
43 | test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) && | |
97b88dd5 | 44 | test ! -d "$dotest" |
4947cf9c | 45 | ' |
3ebfe63a | 46 | |
4947cf9c | 47 | test_expect_success "rebase$type --abort after --skip" ' |
97b88dd5 | 48 | cd "$work_dir" && |
4947cf9c | 49 | # Clean up the state from the previous one |
97b88dd5 BD |
50 | git reset --hard pre-rebase && |
51 | test_must_fail git rebase$type master && | |
52 | test -d "$dotest" && | |
4947cf9c MH |
53 | test_must_fail git rebase --skip && |
54 | test $(git rev-parse HEAD) = $(git rev-parse master) && | |
0cb0e143 | 55 | git rebase --abort && |
4947cf9c | 56 | test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) && |
97b88dd5 | 57 | test ! -d "$dotest" |
4947cf9c | 58 | ' |
3ebfe63a | 59 | |
4947cf9c | 60 | test_expect_success "rebase$type --abort after --continue" ' |
97b88dd5 | 61 | cd "$work_dir" && |
4947cf9c | 62 | # Clean up the state from the previous one |
97b88dd5 BD |
63 | git reset --hard pre-rebase && |
64 | test_must_fail git rebase$type master && | |
65 | test -d "$dotest" && | |
4947cf9c MH |
66 | echo c > a && |
67 | echo d >> a && | |
68 | git add a && | |
69 | test_must_fail git rebase --continue && | |
70 | test $(git rev-parse HEAD) != $(git rev-parse master) && | |
71 | git rebase --abort && | |
72 | test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) && | |
97b88dd5 | 73 | test ! -d "$dotest" |
4947cf9c MH |
74 | ' |
75 | } | |
3ebfe63a | 76 | |
51ef1daa | 77 | testrebase "" .git/rebase-apply |
28ed6e7b | 78 | testrebase " --merge" .git/rebase-merge |
3ebfe63a MH |
79 | |
80 | test_done |