##// END OF EJS Templates
test-subrepo-recursion: glob out all the date listed by unzip -l...
Pierre-Yves David -
r24963:d78dea22 default
parent child Browse files
Show More
@@ -1,605 +1,608 b''
1 Create test repository:
1 Create test repository:
2
2
3 $ hg init repo
3 $ hg init repo
4 $ cd repo
4 $ cd repo
5 $ echo x1 > x.txt
5 $ echo x1 > x.txt
6
6
7 $ hg init foo
7 $ hg init foo
8 $ cd foo
8 $ cd foo
9 $ echo y1 > y.txt
9 $ echo y1 > y.txt
10
10
11 $ hg init bar
11 $ hg init bar
12 $ cd bar
12 $ cd bar
13 $ echo z1 > z.txt
13 $ echo z1 > z.txt
14
14
15 $ cd ..
15 $ cd ..
16 $ echo 'bar = bar' > .hgsub
16 $ echo 'bar = bar' > .hgsub
17
17
18 $ cd ..
18 $ cd ..
19 $ echo 'foo = foo' > .hgsub
19 $ echo 'foo = foo' > .hgsub
20
20
21 Add files --- .hgsub files must go first to trigger subrepos:
21 Add files --- .hgsub files must go first to trigger subrepos:
22
22
23 $ hg add -S .hgsub
23 $ hg add -S .hgsub
24 $ hg add -S foo/.hgsub
24 $ hg add -S foo/.hgsub
25 $ hg add -S foo/bar
25 $ hg add -S foo/bar
26 adding foo/bar/z.txt (glob)
26 adding foo/bar/z.txt (glob)
27 $ hg add -S
27 $ hg add -S
28 adding x.txt
28 adding x.txt
29 adding foo/y.txt (glob)
29 adding foo/y.txt (glob)
30
30
31 Test recursive status without committing anything:
31 Test recursive status without committing anything:
32
32
33 $ hg status -S
33 $ hg status -S
34 A .hgsub
34 A .hgsub
35 A foo/.hgsub
35 A foo/.hgsub
36 A foo/bar/z.txt
36 A foo/bar/z.txt
37 A foo/y.txt
37 A foo/y.txt
38 A x.txt
38 A x.txt
39
39
40 Test recursive diff without committing anything:
40 Test recursive diff without committing anything:
41
41
42 $ hg diff --nodates -S foo
42 $ hg diff --nodates -S foo
43 diff -r 000000000000 foo/.hgsub
43 diff -r 000000000000 foo/.hgsub
44 --- /dev/null
44 --- /dev/null
45 +++ b/foo/.hgsub
45 +++ b/foo/.hgsub
46 @@ -0,0 +1,1 @@
46 @@ -0,0 +1,1 @@
47 +bar = bar
47 +bar = bar
48 diff -r 000000000000 foo/y.txt
48 diff -r 000000000000 foo/y.txt
49 --- /dev/null
49 --- /dev/null
50 +++ b/foo/y.txt
50 +++ b/foo/y.txt
51 @@ -0,0 +1,1 @@
51 @@ -0,0 +1,1 @@
52 +y1
52 +y1
53 diff -r 000000000000 foo/bar/z.txt
53 diff -r 000000000000 foo/bar/z.txt
54 --- /dev/null
54 --- /dev/null
55 +++ b/foo/bar/z.txt
55 +++ b/foo/bar/z.txt
56 @@ -0,0 +1,1 @@
56 @@ -0,0 +1,1 @@
57 +z1
57 +z1
58
58
59 Commits:
59 Commits:
60
60
61 $ hg commit -m fails
61 $ hg commit -m fails
62 abort: uncommitted changes in subrepository 'foo'
62 abort: uncommitted changes in subrepository 'foo'
63 (use --subrepos for recursive commit)
63 (use --subrepos for recursive commit)
64 [255]
64 [255]
65
65
66 The --subrepos flag overwrite the config setting:
66 The --subrepos flag overwrite the config setting:
67
67
68 $ hg commit -m 0-0-0 --config ui.commitsubrepos=No --subrepos
68 $ hg commit -m 0-0-0 --config ui.commitsubrepos=No --subrepos
69 committing subrepository foo
69 committing subrepository foo
70 committing subrepository foo/bar (glob)
70 committing subrepository foo/bar (glob)
71
71
72 $ cd foo
72 $ cd foo
73 $ echo y2 >> y.txt
73 $ echo y2 >> y.txt
74 $ hg commit -m 0-1-0
74 $ hg commit -m 0-1-0
75
75
76 $ cd bar
76 $ cd bar
77 $ echo z2 >> z.txt
77 $ echo z2 >> z.txt
78 $ hg commit -m 0-1-1
78 $ hg commit -m 0-1-1
79
79
80 $ cd ..
80 $ cd ..
81 $ hg commit -m 0-2-1
81 $ hg commit -m 0-2-1
82
82
83 $ cd ..
83 $ cd ..
84 $ hg commit -m 1-2-1
84 $ hg commit -m 1-2-1
85
85
86 Change working directory:
86 Change working directory:
87
87
88 $ echo y3 >> foo/y.txt
88 $ echo y3 >> foo/y.txt
89 $ echo z3 >> foo/bar/z.txt
89 $ echo z3 >> foo/bar/z.txt
90 $ hg status -S
90 $ hg status -S
91 M foo/bar/z.txt
91 M foo/bar/z.txt
92 M foo/y.txt
92 M foo/y.txt
93 $ hg diff --nodates -S
93 $ hg diff --nodates -S
94 diff -r d254738c5f5e foo/y.txt
94 diff -r d254738c5f5e foo/y.txt
95 --- a/foo/y.txt
95 --- a/foo/y.txt
96 +++ b/foo/y.txt
96 +++ b/foo/y.txt
97 @@ -1,2 +1,3 @@
97 @@ -1,2 +1,3 @@
98 y1
98 y1
99 y2
99 y2
100 +y3
100 +y3
101 diff -r 9647f22de499 foo/bar/z.txt
101 diff -r 9647f22de499 foo/bar/z.txt
102 --- a/foo/bar/z.txt
102 --- a/foo/bar/z.txt
103 +++ b/foo/bar/z.txt
103 +++ b/foo/bar/z.txt
104 @@ -1,2 +1,3 @@
104 @@ -1,2 +1,3 @@
105 z1
105 z1
106 z2
106 z2
107 +z3
107 +z3
108
108
109 Status call crossing repository boundaries:
109 Status call crossing repository boundaries:
110
110
111 $ hg status -S foo/bar/z.txt
111 $ hg status -S foo/bar/z.txt
112 M foo/bar/z.txt
112 M foo/bar/z.txt
113 $ hg status -S -I 'foo/?.txt'
113 $ hg status -S -I 'foo/?.txt'
114 M foo/y.txt
114 M foo/y.txt
115 $ hg status -S -I '**/?.txt'
115 $ hg status -S -I '**/?.txt'
116 M foo/bar/z.txt
116 M foo/bar/z.txt
117 M foo/y.txt
117 M foo/y.txt
118 $ hg diff --nodates -S -I '**/?.txt'
118 $ hg diff --nodates -S -I '**/?.txt'
119 diff -r d254738c5f5e foo/y.txt
119 diff -r d254738c5f5e foo/y.txt
120 --- a/foo/y.txt
120 --- a/foo/y.txt
121 +++ b/foo/y.txt
121 +++ b/foo/y.txt
122 @@ -1,2 +1,3 @@
122 @@ -1,2 +1,3 @@
123 y1
123 y1
124 y2
124 y2
125 +y3
125 +y3
126 diff -r 9647f22de499 foo/bar/z.txt
126 diff -r 9647f22de499 foo/bar/z.txt
127 --- a/foo/bar/z.txt
127 --- a/foo/bar/z.txt
128 +++ b/foo/bar/z.txt
128 +++ b/foo/bar/z.txt
129 @@ -1,2 +1,3 @@
129 @@ -1,2 +1,3 @@
130 z1
130 z1
131 z2
131 z2
132 +z3
132 +z3
133
133
134 Status from within a subdirectory:
134 Status from within a subdirectory:
135
135
136 $ mkdir dir
136 $ mkdir dir
137 $ cd dir
137 $ cd dir
138 $ echo a1 > a.txt
138 $ echo a1 > a.txt
139 $ hg status -S
139 $ hg status -S
140 M foo/bar/z.txt
140 M foo/bar/z.txt
141 M foo/y.txt
141 M foo/y.txt
142 ? dir/a.txt
142 ? dir/a.txt
143 $ hg diff --nodates -S
143 $ hg diff --nodates -S
144 diff -r d254738c5f5e foo/y.txt
144 diff -r d254738c5f5e foo/y.txt
145 --- a/foo/y.txt
145 --- a/foo/y.txt
146 +++ b/foo/y.txt
146 +++ b/foo/y.txt
147 @@ -1,2 +1,3 @@
147 @@ -1,2 +1,3 @@
148 y1
148 y1
149 y2
149 y2
150 +y3
150 +y3
151 diff -r 9647f22de499 foo/bar/z.txt
151 diff -r 9647f22de499 foo/bar/z.txt
152 --- a/foo/bar/z.txt
152 --- a/foo/bar/z.txt
153 +++ b/foo/bar/z.txt
153 +++ b/foo/bar/z.txt
154 @@ -1,2 +1,3 @@
154 @@ -1,2 +1,3 @@
155 z1
155 z1
156 z2
156 z2
157 +z3
157 +z3
158
158
159 Status with relative path:
159 Status with relative path:
160
160
161 $ hg status -S ..
161 $ hg status -S ..
162 M ../foo/bar/z.txt
162 M ../foo/bar/z.txt
163 M ../foo/y.txt
163 M ../foo/y.txt
164 ? a.txt
164 ? a.txt
165
165
166 XXX: filtering lfilesrepo.status() in 3.3-rc causes these files to be listed as
166 XXX: filtering lfilesrepo.status() in 3.3-rc causes these files to be listed as
167 added instead of modified.
167 added instead of modified.
168 $ hg status -S .. --config extensions.largefiles=
168 $ hg status -S .. --config extensions.largefiles=
169 M ../foo/bar/z.txt
169 M ../foo/bar/z.txt
170 M ../foo/y.txt
170 M ../foo/y.txt
171 ? a.txt
171 ? a.txt
172
172
173 $ hg diff --nodates -S ..
173 $ hg diff --nodates -S ..
174 diff -r d254738c5f5e foo/y.txt
174 diff -r d254738c5f5e foo/y.txt
175 --- a/foo/y.txt
175 --- a/foo/y.txt
176 +++ b/foo/y.txt
176 +++ b/foo/y.txt
177 @@ -1,2 +1,3 @@
177 @@ -1,2 +1,3 @@
178 y1
178 y1
179 y2
179 y2
180 +y3
180 +y3
181 diff -r 9647f22de499 foo/bar/z.txt
181 diff -r 9647f22de499 foo/bar/z.txt
182 --- a/foo/bar/z.txt
182 --- a/foo/bar/z.txt
183 +++ b/foo/bar/z.txt
183 +++ b/foo/bar/z.txt
184 @@ -1,2 +1,3 @@
184 @@ -1,2 +1,3 @@
185 z1
185 z1
186 z2
186 z2
187 +z3
187 +z3
188 $ cd ..
188 $ cd ..
189
189
190 Cleanup and final commit:
190 Cleanup and final commit:
191
191
192 $ rm -r dir
192 $ rm -r dir
193 $ hg commit --subrepos -m 2-3-2
193 $ hg commit --subrepos -m 2-3-2
194 committing subrepository foo
194 committing subrepository foo
195 committing subrepository foo/bar (glob)
195 committing subrepository foo/bar (glob)
196
196
197 Test explicit path commands within subrepos: add/forget
197 Test explicit path commands within subrepos: add/forget
198 $ echo z1 > foo/bar/z2.txt
198 $ echo z1 > foo/bar/z2.txt
199 $ hg status -S
199 $ hg status -S
200 ? foo/bar/z2.txt
200 ? foo/bar/z2.txt
201 $ hg add foo/bar/z2.txt
201 $ hg add foo/bar/z2.txt
202 $ hg status -S
202 $ hg status -S
203 A foo/bar/z2.txt
203 A foo/bar/z2.txt
204 $ hg forget foo/bar/z2.txt
204 $ hg forget foo/bar/z2.txt
205 $ hg status -S
205 $ hg status -S
206 ? foo/bar/z2.txt
206 ? foo/bar/z2.txt
207 $ hg forget foo/bar/z2.txt
207 $ hg forget foo/bar/z2.txt
208 not removing foo/bar/z2.txt: file is already untracked (glob)
208 not removing foo/bar/z2.txt: file is already untracked (glob)
209 [1]
209 [1]
210 $ hg status -S
210 $ hg status -S
211 ? foo/bar/z2.txt
211 ? foo/bar/z2.txt
212 $ rm foo/bar/z2.txt
212 $ rm foo/bar/z2.txt
213
213
214 Log with the relationships between repo and its subrepo:
214 Log with the relationships between repo and its subrepo:
215
215
216 $ hg log --template '{rev}:{node|short} {desc}\n'
216 $ hg log --template '{rev}:{node|short} {desc}\n'
217 2:1326fa26d0c0 2-3-2
217 2:1326fa26d0c0 2-3-2
218 1:4b3c9ff4f66b 1-2-1
218 1:4b3c9ff4f66b 1-2-1
219 0:23376cbba0d8 0-0-0
219 0:23376cbba0d8 0-0-0
220
220
221 $ hg -R foo log --template '{rev}:{node|short} {desc}\n'
221 $ hg -R foo log --template '{rev}:{node|short} {desc}\n'
222 3:65903cebad86 2-3-2
222 3:65903cebad86 2-3-2
223 2:d254738c5f5e 0-2-1
223 2:d254738c5f5e 0-2-1
224 1:8629ce7dcc39 0-1-0
224 1:8629ce7dcc39 0-1-0
225 0:af048e97ade2 0-0-0
225 0:af048e97ade2 0-0-0
226
226
227 $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n'
227 $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n'
228 2:31ecbdafd357 2-3-2
228 2:31ecbdafd357 2-3-2
229 1:9647f22de499 0-1-1
229 1:9647f22de499 0-1-1
230 0:4904098473f9 0-0-0
230 0:4904098473f9 0-0-0
231
231
232 Status between revisions:
232 Status between revisions:
233
233
234 $ hg status -S
234 $ hg status -S
235 $ hg status -S --rev 0:1
235 $ hg status -S --rev 0:1
236 M .hgsubstate
236 M .hgsubstate
237 M foo/.hgsubstate
237 M foo/.hgsubstate
238 M foo/bar/z.txt
238 M foo/bar/z.txt
239 M foo/y.txt
239 M foo/y.txt
240 $ hg diff --nodates -S -I '**/?.txt' --rev 0:1
240 $ hg diff --nodates -S -I '**/?.txt' --rev 0:1
241 diff -r af048e97ade2 -r d254738c5f5e foo/y.txt
241 diff -r af048e97ade2 -r d254738c5f5e foo/y.txt
242 --- a/foo/y.txt
242 --- a/foo/y.txt
243 +++ b/foo/y.txt
243 +++ b/foo/y.txt
244 @@ -1,1 +1,2 @@
244 @@ -1,1 +1,2 @@
245 y1
245 y1
246 +y2
246 +y2
247 diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt
247 diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt
248 --- a/foo/bar/z.txt
248 --- a/foo/bar/z.txt
249 +++ b/foo/bar/z.txt
249 +++ b/foo/bar/z.txt
250 @@ -1,1 +1,2 @@
250 @@ -1,1 +1,2 @@
251 z1
251 z1
252 +z2
252 +z2
253
253
254 Enable progress extension for archive tests:
254 Enable progress extension for archive tests:
255
255
256 $ cp $HGRCPATH $HGRCPATH.no-progress
256 $ cp $HGRCPATH $HGRCPATH.no-progress
257 $ cat >> $HGRCPATH <<EOF
257 $ cat >> $HGRCPATH <<EOF
258 > [extensions]
258 > [extensions]
259 > progress =
259 > progress =
260 > [progress]
260 > [progress]
261 > assume-tty = 1
261 > assume-tty = 1
262 > delay = 0
262 > delay = 0
263 > # set changedelay really large so we don't see nested topics
263 > # set changedelay really large so we don't see nested topics
264 > changedelay = 30000
264 > changedelay = 30000
265 > format = topic bar number
265 > format = topic bar number
266 > refresh = 0
266 > refresh = 0
267 > width = 60
267 > width = 60
268 > EOF
268 > EOF
269
269
270 Test archiving to a directory tree (the doubled lines in the output
270 Test archiving to a directory tree (the doubled lines in the output
271 only show up in the test output, not in real usage):
271 only show up in the test output, not in real usage):
272
272
273 $ hg archive --subrepos ../archive
273 $ hg archive --subrepos ../archive
274 \r (no-eol) (esc)
274 \r (no-eol) (esc)
275 archiving [ ] 0/3\r (no-eol) (esc)
275 archiving [ ] 0/3\r (no-eol) (esc)
276 archiving [ ] 0/3\r (no-eol) (esc)
276 archiving [ ] 0/3\r (no-eol) (esc)
277 archiving [=============> ] 1/3\r (no-eol) (esc)
277 archiving [=============> ] 1/3\r (no-eol) (esc)
278 archiving [=============> ] 1/3\r (no-eol) (esc)
278 archiving [=============> ] 1/3\r (no-eol) (esc)
279 archiving [===========================> ] 2/3\r (no-eol) (esc)
279 archiving [===========================> ] 2/3\r (no-eol) (esc)
280 archiving [===========================> ] 2/3\r (no-eol) (esc)
280 archiving [===========================> ] 2/3\r (no-eol) (esc)
281 archiving [==========================================>] 3/3\r (no-eol) (esc)
281 archiving [==========================================>] 3/3\r (no-eol) (esc)
282 archiving [==========================================>] 3/3\r (no-eol) (esc)
282 archiving [==========================================>] 3/3\r (no-eol) (esc)
283 \r (no-eol) (esc)
283 \r (no-eol) (esc)
284 \r (no-eol) (esc)
284 \r (no-eol) (esc)
285 archiving (foo) [ ] 0/3\r (no-eol) (esc)
285 archiving (foo) [ ] 0/3\r (no-eol) (esc)
286 archiving (foo) [ ] 0/3\r (no-eol) (esc)
286 archiving (foo) [ ] 0/3\r (no-eol) (esc)
287 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
287 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
288 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
288 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
289 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
289 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
290 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
290 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
291 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
291 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
292 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
292 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
293 \r (no-eol) (esc)
293 \r (no-eol) (esc)
294 \r (no-eol) (esc)
294 \r (no-eol) (esc)
295 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
295 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
296 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
296 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
297 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
297 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
298 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
298 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
299 \r (no-eol) (esc)
299 \r (no-eol) (esc)
300 $ find ../archive | sort
300 $ find ../archive | sort
301 ../archive
301 ../archive
302 ../archive/.hg_archival.txt
302 ../archive/.hg_archival.txt
303 ../archive/.hgsub
303 ../archive/.hgsub
304 ../archive/.hgsubstate
304 ../archive/.hgsubstate
305 ../archive/foo
305 ../archive/foo
306 ../archive/foo/.hgsub
306 ../archive/foo/.hgsub
307 ../archive/foo/.hgsubstate
307 ../archive/foo/.hgsubstate
308 ../archive/foo/bar
308 ../archive/foo/bar
309 ../archive/foo/bar/z.txt
309 ../archive/foo/bar/z.txt
310 ../archive/foo/y.txt
310 ../archive/foo/y.txt
311 ../archive/x.txt
311 ../archive/x.txt
312
312
313 Test archiving to zip file (unzip output is unstable):
313 Test archiving to zip file (unzip output is unstable):
314
314
315 $ hg archive --subrepos --prefix '.' ../archive.zip
315 $ hg archive --subrepos --prefix '.' ../archive.zip
316 \r (no-eol) (esc)
316 \r (no-eol) (esc)
317 archiving [ ] 0/3\r (no-eol) (esc)
317 archiving [ ] 0/3\r (no-eol) (esc)
318 archiving [ ] 0/3\r (no-eol) (esc)
318 archiving [ ] 0/3\r (no-eol) (esc)
319 archiving [=============> ] 1/3\r (no-eol) (esc)
319 archiving [=============> ] 1/3\r (no-eol) (esc)
320 archiving [=============> ] 1/3\r (no-eol) (esc)
320 archiving [=============> ] 1/3\r (no-eol) (esc)
321 archiving [===========================> ] 2/3\r (no-eol) (esc)
321 archiving [===========================> ] 2/3\r (no-eol) (esc)
322 archiving [===========================> ] 2/3\r (no-eol) (esc)
322 archiving [===========================> ] 2/3\r (no-eol) (esc)
323 archiving [==========================================>] 3/3\r (no-eol) (esc)
323 archiving [==========================================>] 3/3\r (no-eol) (esc)
324 archiving [==========================================>] 3/3\r (no-eol) (esc)
324 archiving [==========================================>] 3/3\r (no-eol) (esc)
325 \r (no-eol) (esc)
325 \r (no-eol) (esc)
326 \r (no-eol) (esc)
326 \r (no-eol) (esc)
327 archiving (foo) [ ] 0/3\r (no-eol) (esc)
327 archiving (foo) [ ] 0/3\r (no-eol) (esc)
328 archiving (foo) [ ] 0/3\r (no-eol) (esc)
328 archiving (foo) [ ] 0/3\r (no-eol) (esc)
329 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
329 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
330 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
330 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
331 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
331 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
332 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
332 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
333 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
333 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
334 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
334 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
335 \r (no-eol) (esc)
335 \r (no-eol) (esc)
336 \r (no-eol) (esc)
336 \r (no-eol) (esc)
337 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
337 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
338 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
338 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
339 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
339 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
340 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
340 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
341 \r (no-eol) (esc)
341 \r (no-eol) (esc)
342
343 (unzip date formating is unstable, we do not care about it and glob it out)
344
342 $ unzip -l ../archive.zip
345 $ unzip -l ../archive.zip
343 Archive: ../archive.zip
346 Archive: ../archive.zip
344 Length Date Time Name
347 Length Date Time Name
345 --------- ---------- ----- ----
348 --------- ---------- ----- ----
346 172 01-01-1980 00:00 .hg_archival.txt
349 172 ?????????? 00:00 .hg_archival.txt (glob)
347 10 01-01-1980 00:00 .hgsub
350 10 ?????????? 00:00 .hgsub (glob)
348 45 01-01-1980 00:00 .hgsubstate
351 45 ?????????? 00:00 .hgsubstate (glob)
349 3 01-01-1980 00:00 x.txt
352 3 ?????????? 00:00 x.txt (glob)
350 10 01-01-1980 00:00 foo/.hgsub
353 10 ?????????? 00:00 foo/.hgsub (glob)
351 45 01-01-1980 00:00 foo/.hgsubstate
354 45 ?????????? 00:00 foo/.hgsubstate (glob)
352 9 01-01-1980 00:00 foo/y.txt
355 9 ?????????? 00:00 foo/y.txt (glob)
353 9 01-01-1980 00:00 foo/bar/z.txt
356 9 ?????????? 00:00 foo/bar/z.txt (glob)
354 --------- -------
357 --------- -------
355 303 8 files
358 303 8 files
356
359
357 Test archiving a revision that references a subrepo that is not yet
360 Test archiving a revision that references a subrepo that is not yet
358 cloned:
361 cloned:
359
362
360 #if hardlink
363 #if hardlink
361 $ hg clone -U . ../empty
364 $ hg clone -U . ../empty
362 \r (no-eol) (esc)
365 \r (no-eol) (esc)
363 linking [ <=> ] 1\r (no-eol) (esc)
366 linking [ <=> ] 1\r (no-eol) (esc)
364 linking [ <=> ] 2\r (no-eol) (esc)
367 linking [ <=> ] 2\r (no-eol) (esc)
365 linking [ <=> ] 3\r (no-eol) (esc)
368 linking [ <=> ] 3\r (no-eol) (esc)
366 linking [ <=> ] 4\r (no-eol) (esc)
369 linking [ <=> ] 4\r (no-eol) (esc)
367 linking [ <=> ] 5\r (no-eol) (esc)
370 linking [ <=> ] 5\r (no-eol) (esc)
368 linking [ <=> ] 6\r (no-eol) (esc)
371 linking [ <=> ] 6\r (no-eol) (esc)
369 linking [ <=> ] 7\r (no-eol) (esc)
372 linking [ <=> ] 7\r (no-eol) (esc)
370 linking [ <=> ] 8\r (no-eol) (esc)
373 linking [ <=> ] 8\r (no-eol) (esc)
371 \r (no-eol) (esc)
374 \r (no-eol) (esc)
372 #else
375 #else
373 $ hg clone -U . ../empty
376 $ hg clone -U . ../empty
374 \r (no-eol) (esc)
377 \r (no-eol) (esc)
375 linking [ <=> ] 1 (no-eol)
378 linking [ <=> ] 1 (no-eol)
376 #endif
379 #endif
377
380
378 $ cd ../empty
381 $ cd ../empty
379 #if hardlink
382 #if hardlink
380 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
383 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
381 \r (no-eol) (esc)
384 \r (no-eol) (esc)
382 archiving [ ] 0/3\r (no-eol) (esc)
385 archiving [ ] 0/3\r (no-eol) (esc)
383 archiving [ ] 0/3\r (no-eol) (esc)
386 archiving [ ] 0/3\r (no-eol) (esc)
384 archiving [=============> ] 1/3\r (no-eol) (esc)
387 archiving [=============> ] 1/3\r (no-eol) (esc)
385 archiving [=============> ] 1/3\r (no-eol) (esc)
388 archiving [=============> ] 1/3\r (no-eol) (esc)
386 archiving [===========================> ] 2/3\r (no-eol) (esc)
389 archiving [===========================> ] 2/3\r (no-eol) (esc)
387 archiving [===========================> ] 2/3\r (no-eol) (esc)
390 archiving [===========================> ] 2/3\r (no-eol) (esc)
388 archiving [==========================================>] 3/3\r (no-eol) (esc)
391 archiving [==========================================>] 3/3\r (no-eol) (esc)
389 archiving [==========================================>] 3/3\r (no-eol) (esc)
392 archiving [==========================================>] 3/3\r (no-eol) (esc)
390 \r (no-eol) (esc)
393 \r (no-eol) (esc)
391 \r (no-eol) (esc)
394 \r (no-eol) (esc)
392 linking [ <=> ] 1\r (no-eol) (esc)
395 linking [ <=> ] 1\r (no-eol) (esc)
393 linking [ <=> ] 2\r (no-eol) (esc)
396 linking [ <=> ] 2\r (no-eol) (esc)
394 linking [ <=> ] 3\r (no-eol) (esc)
397 linking [ <=> ] 3\r (no-eol) (esc)
395 linking [ <=> ] 4\r (no-eol) (esc)
398 linking [ <=> ] 4\r (no-eol) (esc)
396 linking [ <=> ] 5\r (no-eol) (esc)
399 linking [ <=> ] 5\r (no-eol) (esc)
397 linking [ <=> ] 6\r (no-eol) (esc)
400 linking [ <=> ] 6\r (no-eol) (esc)
398 linking [ <=> ] 7\r (no-eol) (esc)
401 linking [ <=> ] 7\r (no-eol) (esc)
399 linking [ <=> ] 8\r (no-eol) (esc)
402 linking [ <=> ] 8\r (no-eol) (esc)
400 \r (no-eol) (esc)
403 \r (no-eol) (esc)
401 \r (no-eol) (esc)
404 \r (no-eol) (esc)
402 archiving (foo) [ ] 0/3\r (no-eol) (esc)
405 archiving (foo) [ ] 0/3\r (no-eol) (esc)
403 archiving (foo) [ ] 0/3\r (no-eol) (esc)
406 archiving (foo) [ ] 0/3\r (no-eol) (esc)
404 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
407 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
405 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
408 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
406 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
409 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
407 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
410 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
408 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
411 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
409 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
412 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
410 \r (no-eol) (esc)
413 \r (no-eol) (esc)
411 \r (no-eol) (esc)
414 \r (no-eol) (esc)
412 linking [ <=> ] 1\r (no-eol) (esc)
415 linking [ <=> ] 1\r (no-eol) (esc)
413 linking [ <=> ] 2\r (no-eol) (esc)
416 linking [ <=> ] 2\r (no-eol) (esc)
414 linking [ <=> ] 3\r (no-eol) (esc)
417 linking [ <=> ] 3\r (no-eol) (esc)
415 linking [ <=> ] 4\r (no-eol) (esc)
418 linking [ <=> ] 4\r (no-eol) (esc)
416 linking [ <=> ] 5\r (no-eol) (esc)
419 linking [ <=> ] 5\r (no-eol) (esc)
417 linking [ <=> ] 6\r (no-eol) (esc)
420 linking [ <=> ] 6\r (no-eol) (esc)
418 \r (no-eol) (esc)
421 \r (no-eol) (esc)
419 \r (no-eol) (esc)
422 \r (no-eol) (esc)
420 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
423 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
421 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
424 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
422 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
425 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
423 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
426 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
424 \r (no-eol) (esc)
427 \r (no-eol) (esc)
425 cloning subrepo foo from $TESTTMP/repo/foo
428 cloning subrepo foo from $TESTTMP/repo/foo
426 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
429 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
427 #else
430 #else
428 Note there's a slight output glitch on non-hardlink systems: the last
431 Note there's a slight output glitch on non-hardlink systems: the last
429 "linking" progress topic never gets closed, leading to slight output corruption on that platform.
432 "linking" progress topic never gets closed, leading to slight output corruption on that platform.
430 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
433 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
431 \r (no-eol) (esc)
434 \r (no-eol) (esc)
432 archiving [ ] 0/3\r (no-eol) (esc)
435 archiving [ ] 0/3\r (no-eol) (esc)
433 archiving [ ] 0/3\r (no-eol) (esc)
436 archiving [ ] 0/3\r (no-eol) (esc)
434 archiving [=============> ] 1/3\r (no-eol) (esc)
437 archiving [=============> ] 1/3\r (no-eol) (esc)
435 archiving [=============> ] 1/3\r (no-eol) (esc)
438 archiving [=============> ] 1/3\r (no-eol) (esc)
436 archiving [===========================> ] 2/3\r (no-eol) (esc)
439 archiving [===========================> ] 2/3\r (no-eol) (esc)
437 archiving [===========================> ] 2/3\r (no-eol) (esc)
440 archiving [===========================> ] 2/3\r (no-eol) (esc)
438 archiving [==========================================>] 3/3\r (no-eol) (esc)
441 archiving [==========================================>] 3/3\r (no-eol) (esc)
439 archiving [==========================================>] 3/3\r (no-eol) (esc)
442 archiving [==========================================>] 3/3\r (no-eol) (esc)
440 \r (no-eol) (esc)
443 \r (no-eol) (esc)
441 \r (no-eol) (esc)
444 \r (no-eol) (esc)
442 linking [ <=> ] 1\r (no-eol) (esc)
445 linking [ <=> ] 1\r (no-eol) (esc)
443 \r (no-eol) (esc)
446 \r (no-eol) (esc)
444 \r (no-eol) (esc)
447 \r (no-eol) (esc)
445 \r (no-eol) (esc)
448 \r (no-eol) (esc)
446 \r (no-eol) (esc)
449 \r (no-eol) (esc)
447 linking [ <=> ] 1cloning subrepo foo from $TESTTMP/repo/foo
450 linking [ <=> ] 1cloning subrepo foo from $TESTTMP/repo/foo
448 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
451 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
449 #endif
452 #endif
450
453
451 Archive + subrepos uses '/' for all component separators
454 Archive + subrepos uses '/' for all component separators
452
455
453 $ tar -tzf ../archive.tar.gz | sort
456 $ tar -tzf ../archive.tar.gz | sort
454 .hg_archival.txt
457 .hg_archival.txt
455 .hgsub
458 .hgsub
456 .hgsubstate
459 .hgsubstate
457 foo/.hgsub
460 foo/.hgsub
458 foo/.hgsubstate
461 foo/.hgsubstate
459 foo/bar/z.txt
462 foo/bar/z.txt
460 foo/y.txt
463 foo/y.txt
461 x.txt
464 x.txt
462
465
463 The newly cloned subrepos contain no working copy:
466 The newly cloned subrepos contain no working copy:
464
467
465 $ hg -R foo summary
468 $ hg -R foo summary
466 parent: -1:000000000000 (no revision checked out)
469 parent: -1:000000000000 (no revision checked out)
467 branch: default
470 branch: default
468 commit: (clean)
471 commit: (clean)
469 update: 4 new changesets (update)
472 update: 4 new changesets (update)
470
473
471 Disable progress extension and cleanup:
474 Disable progress extension and cleanup:
472
475
473 $ mv $HGRCPATH.no-progress $HGRCPATH
476 $ mv $HGRCPATH.no-progress $HGRCPATH
474
477
475 Test archiving when there is a directory in the way for a subrepo
478 Test archiving when there is a directory in the way for a subrepo
476 created by archive:
479 created by archive:
477
480
478 $ hg clone -U . ../almost-empty
481 $ hg clone -U . ../almost-empty
479 $ cd ../almost-empty
482 $ cd ../almost-empty
480 $ mkdir foo
483 $ mkdir foo
481 $ echo f > foo/f
484 $ echo f > foo/f
482 $ hg archive --subrepos -r tip archive
485 $ hg archive --subrepos -r tip archive
483 cloning subrepo foo from $TESTTMP/empty/foo
486 cloning subrepo foo from $TESTTMP/empty/foo
484 abort: destination '$TESTTMP/almost-empty/foo' is not empty (in subrepo foo) (glob)
487 abort: destination '$TESTTMP/almost-empty/foo' is not empty (in subrepo foo) (glob)
485 [255]
488 [255]
486
489
487 Clone and test outgoing:
490 Clone and test outgoing:
488
491
489 $ cd ..
492 $ cd ..
490 $ hg clone repo repo2
493 $ hg clone repo repo2
491 updating to branch default
494 updating to branch default
492 cloning subrepo foo from $TESTTMP/repo/foo
495 cloning subrepo foo from $TESTTMP/repo/foo
493 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
496 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
494 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
497 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
495 $ cd repo2
498 $ cd repo2
496 $ hg outgoing -S
499 $ hg outgoing -S
497 comparing with $TESTTMP/repo (glob)
500 comparing with $TESTTMP/repo (glob)
498 searching for changes
501 searching for changes
499 no changes found
502 no changes found
500 comparing with $TESTTMP/repo/foo
503 comparing with $TESTTMP/repo/foo
501 searching for changes
504 searching for changes
502 no changes found
505 no changes found
503 comparing with $TESTTMP/repo/foo/bar
506 comparing with $TESTTMP/repo/foo/bar
504 searching for changes
507 searching for changes
505 no changes found
508 no changes found
506 [1]
509 [1]
507
510
508 Make nested change:
511 Make nested change:
509
512
510 $ echo y4 >> foo/y.txt
513 $ echo y4 >> foo/y.txt
511 $ hg diff --nodates -S
514 $ hg diff --nodates -S
512 diff -r 65903cebad86 foo/y.txt
515 diff -r 65903cebad86 foo/y.txt
513 --- a/foo/y.txt
516 --- a/foo/y.txt
514 +++ b/foo/y.txt
517 +++ b/foo/y.txt
515 @@ -1,3 +1,4 @@
518 @@ -1,3 +1,4 @@
516 y1
519 y1
517 y2
520 y2
518 y3
521 y3
519 +y4
522 +y4
520 $ hg commit --subrepos -m 3-4-2
523 $ hg commit --subrepos -m 3-4-2
521 committing subrepository foo
524 committing subrepository foo
522 $ hg outgoing -S
525 $ hg outgoing -S
523 comparing with $TESTTMP/repo (glob)
526 comparing with $TESTTMP/repo (glob)
524 searching for changes
527 searching for changes
525 changeset: 3:2655b8ecc4ee
528 changeset: 3:2655b8ecc4ee
526 tag: tip
529 tag: tip
527 user: test
530 user: test
528 date: Thu Jan 01 00:00:00 1970 +0000
531 date: Thu Jan 01 00:00:00 1970 +0000
529 summary: 3-4-2
532 summary: 3-4-2
530
533
531 comparing with $TESTTMP/repo/foo
534 comparing with $TESTTMP/repo/foo
532 searching for changes
535 searching for changes
533 changeset: 4:e96193d6cb36
536 changeset: 4:e96193d6cb36
534 tag: tip
537 tag: tip
535 user: test
538 user: test
536 date: Thu Jan 01 00:00:00 1970 +0000
539 date: Thu Jan 01 00:00:00 1970 +0000
537 summary: 3-4-2
540 summary: 3-4-2
538
541
539 comparing with $TESTTMP/repo/foo/bar
542 comparing with $TESTTMP/repo/foo/bar
540 searching for changes
543 searching for changes
541 no changes found
544 no changes found
542
545
543
546
544 Switch to original repo and setup default path:
547 Switch to original repo and setup default path:
545
548
546 $ cd ../repo
549 $ cd ../repo
547 $ echo '[paths]' >> .hg/hgrc
550 $ echo '[paths]' >> .hg/hgrc
548 $ echo 'default = ../repo2' >> .hg/hgrc
551 $ echo 'default = ../repo2' >> .hg/hgrc
549
552
550 Test incoming:
553 Test incoming:
551
554
552 $ hg incoming -S
555 $ hg incoming -S
553 comparing with $TESTTMP/repo2 (glob)
556 comparing with $TESTTMP/repo2 (glob)
554 searching for changes
557 searching for changes
555 changeset: 3:2655b8ecc4ee
558 changeset: 3:2655b8ecc4ee
556 tag: tip
559 tag: tip
557 user: test
560 user: test
558 date: Thu Jan 01 00:00:00 1970 +0000
561 date: Thu Jan 01 00:00:00 1970 +0000
559 summary: 3-4-2
562 summary: 3-4-2
560
563
561 comparing with $TESTTMP/repo2/foo
564 comparing with $TESTTMP/repo2/foo
562 searching for changes
565 searching for changes
563 changeset: 4:e96193d6cb36
566 changeset: 4:e96193d6cb36
564 tag: tip
567 tag: tip
565 user: test
568 user: test
566 date: Thu Jan 01 00:00:00 1970 +0000
569 date: Thu Jan 01 00:00:00 1970 +0000
567 summary: 3-4-2
570 summary: 3-4-2
568
571
569 comparing with $TESTTMP/repo2/foo/bar
572 comparing with $TESTTMP/repo2/foo/bar
570 searching for changes
573 searching for changes
571 no changes found
574 no changes found
572
575
573 $ hg incoming -S --bundle incoming.hg
576 $ hg incoming -S --bundle incoming.hg
574 abort: cannot combine --bundle and --subrepos
577 abort: cannot combine --bundle and --subrepos
575 [255]
578 [255]
576
579
577 Test missing subrepo:
580 Test missing subrepo:
578
581
579 $ rm -r foo
582 $ rm -r foo
580 $ hg status -S
583 $ hg status -S
581 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
584 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
582
585
583 Issue2619: IndexError: list index out of range on hg add with subrepos
586 Issue2619: IndexError: list index out of range on hg add with subrepos
584 The subrepo must sorts after the explicit filename.
587 The subrepo must sorts after the explicit filename.
585
588
586 $ cd ..
589 $ cd ..
587 $ hg init test
590 $ hg init test
588 $ cd test
591 $ cd test
589 $ hg init x
592 $ hg init x
590 $ echo abc > abc.txt
593 $ echo abc > abc.txt
591 $ hg ci -Am "abc"
594 $ hg ci -Am "abc"
592 adding abc.txt
595 adding abc.txt
593 $ echo "x = x" >> .hgsub
596 $ echo "x = x" >> .hgsub
594 $ hg add .hgsub
597 $ hg add .hgsub
595 $ touch a x/a
598 $ touch a x/a
596 $ hg add a x/a
599 $ hg add a x/a
597
600
598 $ hg ci -Sm "added x"
601 $ hg ci -Sm "added x"
599 committing subrepository x
602 committing subrepository x
600 $ echo abc > x/a
603 $ echo abc > x/a
601 $ hg revert --rev '.^' "set:subrepo('glob:x*')"
604 $ hg revert --rev '.^' "set:subrepo('glob:x*')"
602 abort: subrepository 'x' does not exist in 25ac2c9b3180!
605 abort: subrepository 'x' does not exist in 25ac2c9b3180!
603 [255]
606 [255]
604
607
605 $ cd ..
608 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now