##// END OF EJS Templates
tests: unify test-revert
Nicolas Dumazet -
r12106:969176be default
parent child Browse files
Show More
@@ -1,151 +1,263 b''
1 #!/bin/sh
1 $ hg init repo
2 $ cd repo
3 $ echo 123 > a
4 $ echo 123 > c
5 $ echo 123 > e
6 $ hg add a c e
7 $ hg commit -m "first" -d "1000000 0" a c e
8 $ echo 123 > b
9
10 should show b unknown
11
12 $ hg status
13 ? b
14 $ echo 12 > c
15
16 should show b unknown and c modified
17
18 $ hg status
19 M c
20 ? b
21 $ hg add b
22
23 should show b added and c modified
24
25 $ hg status
26 M c
27 A b
28 $ hg rm a
29
30 should show a removed, b added and c modified
31
32 $ hg status
33 M c
34 A b
35 R a
36 $ hg revert a
37
38 should show b added, copy saved, and c modified
39
40 $ hg status
41 M c
42 A b
43 $ hg revert b
44
45 should show b unknown, and c modified
46
47 $ hg status
48 M c
49 ? b
50 $ hg revert --no-backup c
51
52 should show unknown: b
53
54 $ hg status
55 ? b
56 $ hg add b
57
58 should show b added
59
60 $ hg status b
61 A b
62 $ rm b
63
64 should show b deleted
2 65
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
66 $ hg status b
67 ! b
68 $ hg revert -v b
69 forgetting b
70
71 should not find b
72
73 $ hg status b
74 b: No such file or directory
75
76 should show a c e
77
78 $ ls
79 a
80 c
81 e
82
83 should verbosely save backup to e.orig
84
85 $ echo z > e
86 $ hg revert --all -v
87 saving current version of e as e.orig
88 reverting e
89
90 should say no changes needed
91
92 $ hg revert a
93 no changes needed to a
94
95 should say file not managed
96
97 $ echo q > q
98 $ hg revert q
99 file not managed: q
100 $ rm q
101
102 should say file not found
103
104 $ hg revert notfound
105 notfound: no such file in rev 095eacd0c0d7
106 $ touch d
107 $ hg add d
108 $ hg rm a
109 $ hg commit -m "second" -d "1000000 0"
110 $ echo z > z
111 $ hg add z
112 $ hg st
113 A z
114 ? e.orig
115
116 should add a, remove d, forget z
117
118 $ hg revert --all -r0
119 adding a
120 removing d
121 forgetting z
122
123 should forget a, undelete d
124
125 $ hg revert --all -rtip
126 forgetting a
127 undeleting d
128 $ rm a *.orig
129
130 should silently add a
73 131
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
132 $ hg revert -r0 a
133 $ hg st a
134 A a
135 $ hg rm d
136 $ hg st d
137 R d
138
139 should silently keep d removed
140
141 $ hg revert -r0 d
142 $ hg st d
143 R d
79 144
80 chmod +x c
81 hg commit -d '1000001 0' -m exe
145 $ hg update -C
146 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
147 $ chmod +x c
148 $ hg revert --all
149 reverting c
150
151 should print non-executable
82 152
83 chmod -x c
84 hg revert --all
85 echo %% should print executable
86 test -x c && echo executable
153 $ test -x c || echo non-executable
154 non-executable
155
156 $ chmod +x c
157 $ hg commit -d '1000001 0' -m exe
87 158
88 cd ..
159 $ chmod -x c
160 $ hg revert --all
161 reverting c
162
163 should print executable
89 164
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
165 $ test -x c && echo executable
166 executable
167
168 $ cd ..
169
170
171 issue 241
100 172
101 echo % should fail - no arguments
102 hg revert -rtip
173 $ hg init a
174 $ cd a
175 $ echo a >> a
176 $ hg commit -A -d '1 0' -m a
177 adding a
178 $ echo a >> a
179 $ hg commit -d '2 0' -m a
180 $ hg update 0
181 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
182 $ mkdir b
183 $ echo b > b/b
103 184
104 echo % should succeed
105 hg revert --all -rtip
185 should fail - no arguments
186
187 $ hg revert -rtip
188 abort: no files or directories specified; use --all to revert the whole repo
189
190 should succeed
191
192 $ hg revert --all -rtip
193 reverting a
194
195
196 issue332
106 197
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 .
198 $ hg ci -A -m b -d '1000001 0'
199 adding b/b
200 created new head
201 $ echo foobar > b/b
202 $ mkdir newdir
203 $ echo foo > newdir/newfile
204 $ hg add newdir/newfile
205 $ hg revert b newdir
206 reverting b/b
207 forgetting newdir/newfile
208 $ echo foobar > b/b
209 $ hg revert .
210 reverting b/b
211
116 212
117 echo % reverting a rename target should revert the source
118 hg mv a newa
119 hg revert newa
120 hg st a newa
213 reverting a rename target should revert the source
214
215 $ hg mv a newa
216 $ hg revert newa
217 $ hg st a newa
218 ? newa
121 219
122 cd ..
220 $ cd ..
123 221
124 hg init ignored
125 cd ignored
126 echo '^ignored$' > .hgignore
127 echo '^ignoreddir$' >> .hgignore
128 echo '^removed$' >> .hgignore
222 $ hg init ignored
223 $ cd ignored
224 $ echo '^ignored$' > .hgignore
225 $ echo '^ignoreddir$' >> .hgignore
226 $ echo '^removed$' >> .hgignore
129 227
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
228 $ mkdir ignoreddir
229 $ touch ignoreddir/file
230 $ touch ignoreddir/removed
231 $ touch ignored
232 $ touch removed
233
234 4 ignored files (we will add/commit everything)
235
236 $ hg st -A -X .hgignore
237 I ignored
238 I ignoreddir/file
239 I ignoreddir/removed
240 I removed
241 $ hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed
138 242
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
243 $ echo >> ignored
244 $ echo >> ignoreddir/file
245 $ hg rm removed ignoreddir/removed
246
247 should revert ignored* and undelete *removed
145 248
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
249 $ hg revert -a --no-backup
250 reverting ignored
251 reverting ignoreddir/file
252 undeleting ignoreddir/removed
253 undeleting removed
254 $ hg st -mardi
255
256 $ hg up -qC
257 $ echo >> ignored
258 $ hg rm removed
259
260 should silently revert the named files
261
262 $ hg revert --no-backup ignored removed
263 $ hg st -mardi
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now