]>
Commit | Line | Data |
---|---|---|
acb4441e JH |
1 | #!/bin/sh |
2 | ||
3 | test_description='test cherry-pick and revert with renames | |
4 | ||
5 | -- | |
6 | + rename2: renames oops to opos | |
7 | + rename1: renames oops to spoo | |
8 | + added: adds extra line to oops | |
9 | ++ initial: has lines in oops | |
10 | ||
11 | ' | |
12 | ||
13 | . ./test-lib.sh | |
14 | ||
15 | test_expect_success setup ' | |
16 | ||
17 | for l in a b c d e f g h i j k l m n o | |
18 | do | |
19 | echo $l$l$l$l$l$l$l$l$l | |
20 | done >oops && | |
21 | ||
22 | test_tick && | |
23 | git add oops && | |
24 | git commit -m initial && | |
25 | git tag initial && | |
26 | ||
27 | test_tick && | |
28 | echo "Add extra line at the end" >>oops && | |
29 | git commit -a -m added && | |
30 | git tag added && | |
31 | ||
32 | test_tick && | |
33 | git mv oops spoo && | |
34 | git commit -m rename1 && | |
35 | git tag rename1 && | |
36 | ||
37 | test_tick && | |
38 | git checkout -b side initial && | |
39 | git mv oops opos && | |
40 | git commit -m rename2 && | |
41 | git tag rename2 | |
42 | ' | |
43 | ||
44 | test_expect_success 'cherry-pick after renaming branch' ' | |
45 | ||
46 | git checkout rename2 && | |
9e54dc6c | 47 | git cherry-pick added && |
acb4441e JH |
48 | test -f opos && |
49 | grep "Add extra line at the end" opos | |
50 | ||
51 | ' | |
52 | ||
53 | test_expect_success 'revert after renaming branch' ' | |
54 | ||
55 | git checkout rename1 && | |
9e54dc6c | 56 | git revert added && |
acb4441e JH |
57 | test -f spoo && |
58 | ! grep "Add extra line at the end" spoo | |
59 | ||
60 | ' | |
61 | ||
0f2d4476 JK |
62 | test_expect_success 'revert forbidden on dirty working tree' ' |
63 | ||
64 | echo content >extra_file && | |
65 | git add extra_file && | |
66 | test_must_fail git revert HEAD 2>errors && | |
67 | grep "Dirty index" errors | |
68 | ||
69 | ' | |
70 | ||
acb4441e | 71 | test_done |