]> git.ipfire.org Git - thirdparty/git.git/blob - t/t3501-revert-cherry-pick.sh
git-add --intent-to-add (-N)
[thirdparty/git.git] / t / t3501-revert-cherry-pick.sh
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 &&
47 git cherry-pick added &&
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 &&
56 git revert added &&
57 test -f spoo &&
58 ! grep "Add extra line at the end" spoo
59
60 '
61
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
71 test_done