1 #!/bin/sh |
|
2 |
|
3 hg init repo |
|
4 cd repo |
|
5 echo 123 > a |
|
6 echo 123 > c |
|
7 echo 123 > e |
|
8 hg add a c e |
|
9 hg commit -m "first" -d "1000000 0" a c e |
|
10 echo 123 > b |
|
11 echo %% should show b unknown |
|
12 hg status |
|
13 echo 12 > c |
|
14 echo %% should show b unknown and c modified |
|
15 hg status |
|
16 hg add b |
|
17 echo %% should show b added and c modified |
|
18 hg status |
|
19 hg rm a |
|
20 echo %% should show a removed, b added and c modified |
|
21 hg status |
|
22 hg revert a |
|
23 echo %% should show b added, copy saved, and c modified |
|
24 hg status |
|
25 hg revert b |
|
26 echo %% should show b unknown, and c modified |
|
27 hg status |
|
28 hg revert --no-backup c |
|
29 echo %% should show unknown: b |
|
30 hg status |
|
31 hg add b |
|
32 echo %% should show b added |
|
33 hg status b |
|
34 rm b |
|
35 echo %% should show b deleted |
|
36 hg status b |
|
37 hg revert -v b |
|
38 echo %% should not find b |
|
39 hg status b |
|
40 echo %% should show a c e |
|
41 ls |
|
42 echo %% should verbosely save backup to e.orig |
|
43 echo z > e |
|
44 hg revert --all -v |
|
45 echo %% should say no changes needed |
|
46 hg revert a |
|
47 echo %% should say file not managed |
|
48 echo q > q |
|
49 hg revert q |
|
50 rm q |
|
51 echo %% should say file not found |
|
52 hg revert notfound |
|
53 touch d |
|
54 hg add d |
|
55 hg rm a |
|
56 hg commit -m "second" -d "1000000 0" |
|
57 echo z > z |
|
58 hg add z |
|
59 hg st |
|
60 echo %% should add a, remove d, forget z |
|
61 hg revert --all -r0 |
|
62 echo %% should forget a, undelete d |
|
63 hg revert --all -rtip |
|
64 rm a *.orig |
|
65 echo %% should silently add a |
|
66 hg revert -r0 a |
|
67 hg st a |
|
68 hg rm d |
|
69 hg st d |
|
70 echo %% should silently keep d removed |
|
71 hg revert -r0 d |
|
72 hg st d |
|
73 |
|
74 hg update -C |
|
75 chmod +x c |
|
76 hg revert --all |
|
77 echo %% should print non-executable |
|
78 test -x c || echo non-executable |
|
79 |
|
80 chmod +x c |
|
81 hg commit -d '1000001 0' -m exe |
|
82 |
|
83 chmod -x c |
|
84 hg revert --all |
|
85 echo %% should print executable |
|
86 test -x c && echo executable |
|
87 |
|
88 cd .. |
|
89 |
|
90 echo %% issue 241 |
|
91 hg init a |
|
92 cd a |
|
93 echo a >> a |
|
94 hg commit -A -d '1 0' -m a |
|
95 echo a >> a |
|
96 hg commit -d '2 0' -m a |
|
97 hg update 0 |
|
98 mkdir b |
|
99 echo b > b/b |
|
100 |
|
101 echo % should fail - no arguments |
|
102 hg revert -rtip |
|
103 |
|
104 echo % should succeed |
|
105 hg revert --all -rtip |
|
106 |
|
107 echo %% issue332 |
|
108 hg ci -A -m b -d '1000001 0' |
|
109 echo foobar > b/b |
|
110 mkdir newdir |
|
111 echo foo > newdir/newfile |
|
112 hg add newdir/newfile |
|
113 hg revert b newdir |
|
114 echo foobar > b/b |
|
115 hg revert . |
|
116 |
|
117 echo % reverting a rename target should revert the source |
|
118 hg mv a newa |
|
119 hg revert newa |
|
120 hg st a newa |
|
121 |
|
122 cd .. |
|
123 |
|
124 hg init ignored |
|
125 cd ignored |
|
126 echo '^ignored$' > .hgignore |
|
127 echo '^ignoreddir$' >> .hgignore |
|
128 echo '^removed$' >> .hgignore |
|
129 |
|
130 mkdir ignoreddir |
|
131 touch ignoreddir/file |
|
132 touch ignoreddir/removed |
|
133 touch ignored |
|
134 touch removed |
|
135 echo '%% 4 ignored files (we will add/commit everything)' |
|
136 hg st -A -X .hgignore |
|
137 hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed |
|
138 |
|
139 echo >> ignored |
|
140 echo >> ignoreddir/file |
|
141 hg rm removed ignoreddir/removed |
|
142 echo '%% should revert ignored* and undelete *removed' |
|
143 hg revert -a --no-backup |
|
144 hg st -mardi |
|
145 |
|
146 hg up -qC |
|
147 echo >> ignored |
|
148 hg rm removed |
|
149 echo %% should silently revert the named files |
|
150 hg revert --no-backup ignored removed |
|
151 hg st -mardi |
|