##// END OF EJS Templates
test-subrepo-recursion: restore globs for Windows
Matt Harbison -
r25496:38fd17bc default
parent child Browse files
Show More
@@ -1,572 +1,572 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 [=============> ] 1/3\r (no-eol) (esc)
276 archiving [=============> ] 1/3\r (no-eol) (esc)
277 archiving [===========================> ] 2/3\r (no-eol) (esc)
277 archiving [===========================> ] 2/3\r (no-eol) (esc)
278 archiving [==========================================>] 3/3\r (no-eol) (esc)
278 archiving [==========================================>] 3/3\r (no-eol) (esc)
279 \r (no-eol) (esc)
279 \r (no-eol) (esc)
280 \r (no-eol) (esc)
280 \r (no-eol) (esc)
281 archiving (foo) [ ] 0/3\r (no-eol) (esc)
281 archiving (foo) [ ] 0/3\r (no-eol) (esc)
282 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
282 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
283 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
283 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
284 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
284 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
285 \r (no-eol) (esc)
285 \r (no-eol) (esc)
286 \r (no-eol) (esc)
286 \r (no-eol) (esc)
287 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
287 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
288 archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
288 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
289 \r (no-eol) (esc)
289 \r (no-eol) (esc)
290 $ find ../archive | sort
290 $ find ../archive | sort
291 ../archive
291 ../archive
292 ../archive/.hg_archival.txt
292 ../archive/.hg_archival.txt
293 ../archive/.hgsub
293 ../archive/.hgsub
294 ../archive/.hgsubstate
294 ../archive/.hgsubstate
295 ../archive/foo
295 ../archive/foo
296 ../archive/foo/.hgsub
296 ../archive/foo/.hgsub
297 ../archive/foo/.hgsubstate
297 ../archive/foo/.hgsubstate
298 ../archive/foo/bar
298 ../archive/foo/bar
299 ../archive/foo/bar/z.txt
299 ../archive/foo/bar/z.txt
300 ../archive/foo/y.txt
300 ../archive/foo/y.txt
301 ../archive/x.txt
301 ../archive/x.txt
302
302
303 Test archiving to zip file (unzip output is unstable):
303 Test archiving to zip file (unzip output is unstable):
304
304
305 $ hg archive --subrepos --prefix '.' ../archive.zip
305 $ hg archive --subrepos --prefix '.' ../archive.zip
306 \r (no-eol) (esc)
306 \r (no-eol) (esc)
307 archiving [ ] 0/3\r (no-eol) (esc)
307 archiving [ ] 0/3\r (no-eol) (esc)
308 archiving [=============> ] 1/3\r (no-eol) (esc)
308 archiving [=============> ] 1/3\r (no-eol) (esc)
309 archiving [===========================> ] 2/3\r (no-eol) (esc)
309 archiving [===========================> ] 2/3\r (no-eol) (esc)
310 archiving [==========================================>] 3/3\r (no-eol) (esc)
310 archiving [==========================================>] 3/3\r (no-eol) (esc)
311 \r (no-eol) (esc)
311 \r (no-eol) (esc)
312 \r (no-eol) (esc)
312 \r (no-eol) (esc)
313 archiving (foo) [ ] 0/3\r (no-eol) (esc)
313 archiving (foo) [ ] 0/3\r (no-eol) (esc)
314 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
314 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
315 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
315 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
316 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
316 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
317 \r (no-eol) (esc)
317 \r (no-eol) (esc)
318 \r (no-eol) (esc)
318 \r (no-eol) (esc)
319 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
319 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
320 archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
320 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
321 \r (no-eol) (esc)
321 \r (no-eol) (esc)
322
322
323 (unzip date formating is unstable, we do not care about it and glob it out)
323 (unzip date formating is unstable, we do not care about it and glob it out)
324
324
325 $ unzip -l ../archive.zip
325 $ unzip -l ../archive.zip
326 Archive: ../archive.zip
326 Archive: ../archive.zip
327 Length Date Time Name
327 Length Date Time Name
328 --------- ---------- ----- ----
328 --------- ---------- ----- ----
329 172 ?????????? 00:00 .hg_archival.txt (glob)
329 172 ?????????? 00:00 .hg_archival.txt (glob)
330 10 ?????????? 00:00 .hgsub (glob)
330 10 ?????????? 00:00 .hgsub (glob)
331 45 ?????????? 00:00 .hgsubstate (glob)
331 45 ?????????? 00:00 .hgsubstate (glob)
332 3 ?????????? 00:00 x.txt (glob)
332 3 ?????????? 00:00 x.txt (glob)
333 10 ?????????? 00:00 foo/.hgsub (glob)
333 10 ?????????? 00:00 foo/.hgsub (glob)
334 45 ?????????? 00:00 foo/.hgsubstate (glob)
334 45 ?????????? 00:00 foo/.hgsubstate (glob)
335 9 ?????????? 00:00 foo/y.txt (glob)
335 9 ?????????? 00:00 foo/y.txt (glob)
336 9 ?????????? 00:00 foo/bar/z.txt (glob)
336 9 ?????????? 00:00 foo/bar/z.txt (glob)
337 --------- -------
337 --------- -------
338 303 8 files
338 303 8 files
339
339
340 Test archiving a revision that references a subrepo that is not yet
340 Test archiving a revision that references a subrepo that is not yet
341 cloned:
341 cloned:
342
342
343 #if hardlink
343 #if hardlink
344 $ hg clone -U . ../empty
344 $ hg clone -U . ../empty
345 \r (no-eol) (esc)
345 \r (no-eol) (esc)
346 linking [ <=> ] 1\r (no-eol) (esc)
346 linking [ <=> ] 1\r (no-eol) (esc)
347 linking [ <=> ] 2\r (no-eol) (esc)
347 linking [ <=> ] 2\r (no-eol) (esc)
348 linking [ <=> ] 3\r (no-eol) (esc)
348 linking [ <=> ] 3\r (no-eol) (esc)
349 linking [ <=> ] 4\r (no-eol) (esc)
349 linking [ <=> ] 4\r (no-eol) (esc)
350 linking [ <=> ] 5\r (no-eol) (esc)
350 linking [ <=> ] 5\r (no-eol) (esc)
351 linking [ <=> ] 6\r (no-eol) (esc)
351 linking [ <=> ] 6\r (no-eol) (esc)
352 linking [ <=> ] 7\r (no-eol) (esc)
352 linking [ <=> ] 7\r (no-eol) (esc)
353 linking [ <=> ] 8\r (no-eol) (esc)
353 linking [ <=> ] 8\r (no-eol) (esc)
354 \r (no-eol) (esc)
354 \r (no-eol) (esc)
355 #else
355 #else
356 $ hg clone -U . ../empty
356 $ hg clone -U . ../empty
357 \r (no-eol) (esc)
357 \r (no-eol) (esc)
358 linking [ <=> ] 1 (no-eol)
358 linking [ <=> ] 1 (no-eol)
359 #endif
359 #endif
360
360
361 $ cd ../empty
361 $ cd ../empty
362 #if hardlink
362 #if hardlink
363 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
363 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
364 \r (no-eol) (esc)
364 \r (no-eol) (esc)
365 archiving [ ] 0/3\r (no-eol) (esc)
365 archiving [ ] 0/3\r (no-eol) (esc)
366 archiving [=============> ] 1/3\r (no-eol) (esc)
366 archiving [=============> ] 1/3\r (no-eol) (esc)
367 archiving [===========================> ] 2/3\r (no-eol) (esc)
367 archiving [===========================> ] 2/3\r (no-eol) (esc)
368 archiving [==========================================>] 3/3\r (no-eol) (esc)
368 archiving [==========================================>] 3/3\r (no-eol) (esc)
369 \r (no-eol) (esc)
369 \r (no-eol) (esc)
370 \r (no-eol) (esc)
370 \r (no-eol) (esc)
371 linking [ <=> ] 1\r (no-eol) (esc)
371 linking [ <=> ] 1\r (no-eol) (esc)
372 linking [ <=> ] 2\r (no-eol) (esc)
372 linking [ <=> ] 2\r (no-eol) (esc)
373 linking [ <=> ] 3\r (no-eol) (esc)
373 linking [ <=> ] 3\r (no-eol) (esc)
374 linking [ <=> ] 4\r (no-eol) (esc)
374 linking [ <=> ] 4\r (no-eol) (esc)
375 linking [ <=> ] 5\r (no-eol) (esc)
375 linking [ <=> ] 5\r (no-eol) (esc)
376 linking [ <=> ] 6\r (no-eol) (esc)
376 linking [ <=> ] 6\r (no-eol) (esc)
377 linking [ <=> ] 7\r (no-eol) (esc)
377 linking [ <=> ] 7\r (no-eol) (esc)
378 linking [ <=> ] 8\r (no-eol) (esc)
378 linking [ <=> ] 8\r (no-eol) (esc)
379 \r (no-eol) (esc)
379 \r (no-eol) (esc)
380 \r (no-eol) (esc)
380 \r (no-eol) (esc)
381 archiving (foo) [ ] 0/3\r (no-eol) (esc)
381 archiving (foo) [ ] 0/3\r (no-eol) (esc)
382 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
382 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
383 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
383 archiving (foo) [=======================> ] 2/3\r (no-eol) (esc)
384 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
384 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
385 \r (no-eol) (esc)
385 \r (no-eol) (esc)
386 \r (no-eol) (esc)
386 \r (no-eol) (esc)
387 linking [ <=> ] 1\r (no-eol) (esc)
387 linking [ <=> ] 1\r (no-eol) (esc)
388 linking [ <=> ] 2\r (no-eol) (esc)
388 linking [ <=> ] 2\r (no-eol) (esc)
389 linking [ <=> ] 3\r (no-eol) (esc)
389 linking [ <=> ] 3\r (no-eol) (esc)
390 linking [ <=> ] 4\r (no-eol) (esc)
390 linking [ <=> ] 4\r (no-eol) (esc)
391 linking [ <=> ] 5\r (no-eol) (esc)
391 linking [ <=> ] 5\r (no-eol) (esc)
392 linking [ <=> ] 6\r (no-eol) (esc)
392 linking [ <=> ] 6\r (no-eol) (esc)
393 \r (no-eol) (esc)
393 \r (no-eol) (esc)
394 \r (no-eol) (esc)
394 \r (no-eol) (esc)
395 archiving (foo/bar) [ ] 0/1\r (no-eol) (esc)
395 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
396 archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc)
396 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
397 \r (no-eol) (esc)
397 \r (no-eol) (esc)
398 cloning subrepo foo from $TESTTMP/repo/foo
398 cloning subrepo foo from $TESTTMP/repo/foo
399 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
399 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
400 #else
400 #else
401 Note there's a slight output glitch on non-hardlink systems: the last
401 Note there's a slight output glitch on non-hardlink systems: the last
402 "linking" progress topic never gets closed, leading to slight output corruption on that platform.
402 "linking" progress topic never gets closed, leading to slight output corruption on that platform.
403 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
403 $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz
404 \r (no-eol) (esc)
404 \r (no-eol) (esc)
405 archiving [ ] 0/3\r (no-eol) (esc)
405 archiving [ ] 0/3\r (no-eol) (esc)
406 archiving [=============> ] 1/3\r (no-eol) (esc)
406 archiving [=============> ] 1/3\r (no-eol) (esc)
407 archiving [===========================> ] 2/3\r (no-eol) (esc)
407 archiving [===========================> ] 2/3\r (no-eol) (esc)
408 archiving [==========================================>] 3/3\r (no-eol) (esc)
408 archiving [==========================================>] 3/3\r (no-eol) (esc)
409 \r (no-eol) (esc)
409 \r (no-eol) (esc)
410 \r (no-eol) (esc)
410 \r (no-eol) (esc)
411 linking [ <=> ] 1\r (no-eol) (esc)
411 linking [ <=> ] 1\r (no-eol) (esc)
412 \r (no-eol) (esc)
412 \r (no-eol) (esc)
413 \r (no-eol) (esc)
413 \r (no-eol) (esc)
414 linking [ <=> ] 1cloning subrepo foo from $TESTTMP/repo/foo
414 linking [ <=> ] 1cloning subrepo foo from $TESTTMP/repo/foo
415 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
415 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
416 #endif
416 #endif
417
417
418 Archive + subrepos uses '/' for all component separators
418 Archive + subrepos uses '/' for all component separators
419
419
420 $ tar -tzf ../archive.tar.gz | sort
420 $ tar -tzf ../archive.tar.gz | sort
421 .hg_archival.txt
421 .hg_archival.txt
422 .hgsub
422 .hgsub
423 .hgsubstate
423 .hgsubstate
424 foo/.hgsub
424 foo/.hgsub
425 foo/.hgsubstate
425 foo/.hgsubstate
426 foo/bar/z.txt
426 foo/bar/z.txt
427 foo/y.txt
427 foo/y.txt
428 x.txt
428 x.txt
429
429
430 The newly cloned subrepos contain no working copy:
430 The newly cloned subrepos contain no working copy:
431
431
432 $ hg -R foo summary
432 $ hg -R foo summary
433 parent: -1:000000000000 (no revision checked out)
433 parent: -1:000000000000 (no revision checked out)
434 branch: default
434 branch: default
435 commit: (clean)
435 commit: (clean)
436 update: 4 new changesets (update)
436 update: 4 new changesets (update)
437
437
438 Disable progress extension and cleanup:
438 Disable progress extension and cleanup:
439
439
440 $ mv $HGRCPATH.no-progress $HGRCPATH
440 $ mv $HGRCPATH.no-progress $HGRCPATH
441
441
442 Test archiving when there is a directory in the way for a subrepo
442 Test archiving when there is a directory in the way for a subrepo
443 created by archive:
443 created by archive:
444
444
445 $ hg clone -U . ../almost-empty
445 $ hg clone -U . ../almost-empty
446 $ cd ../almost-empty
446 $ cd ../almost-empty
447 $ mkdir foo
447 $ mkdir foo
448 $ echo f > foo/f
448 $ echo f > foo/f
449 $ hg archive --subrepos -r tip archive
449 $ hg archive --subrepos -r tip archive
450 cloning subrepo foo from $TESTTMP/empty/foo
450 cloning subrepo foo from $TESTTMP/empty/foo
451 abort: destination '$TESTTMP/almost-empty/foo' is not empty (in subrepo foo) (glob)
451 abort: destination '$TESTTMP/almost-empty/foo' is not empty (in subrepo foo) (glob)
452 [255]
452 [255]
453
453
454 Clone and test outgoing:
454 Clone and test outgoing:
455
455
456 $ cd ..
456 $ cd ..
457 $ hg clone repo repo2
457 $ hg clone repo repo2
458 updating to branch default
458 updating to branch default
459 cloning subrepo foo from $TESTTMP/repo/foo
459 cloning subrepo foo from $TESTTMP/repo/foo
460 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
460 cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
461 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
461 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
462 $ cd repo2
462 $ cd repo2
463 $ hg outgoing -S
463 $ hg outgoing -S
464 comparing with $TESTTMP/repo (glob)
464 comparing with $TESTTMP/repo (glob)
465 searching for changes
465 searching for changes
466 no changes found
466 no changes found
467 comparing with $TESTTMP/repo/foo
467 comparing with $TESTTMP/repo/foo
468 searching for changes
468 searching for changes
469 no changes found
469 no changes found
470 comparing with $TESTTMP/repo/foo/bar
470 comparing with $TESTTMP/repo/foo/bar
471 searching for changes
471 searching for changes
472 no changes found
472 no changes found
473 [1]
473 [1]
474
474
475 Make nested change:
475 Make nested change:
476
476
477 $ echo y4 >> foo/y.txt
477 $ echo y4 >> foo/y.txt
478 $ hg diff --nodates -S
478 $ hg diff --nodates -S
479 diff -r 65903cebad86 foo/y.txt
479 diff -r 65903cebad86 foo/y.txt
480 --- a/foo/y.txt
480 --- a/foo/y.txt
481 +++ b/foo/y.txt
481 +++ b/foo/y.txt
482 @@ -1,3 +1,4 @@
482 @@ -1,3 +1,4 @@
483 y1
483 y1
484 y2
484 y2
485 y3
485 y3
486 +y4
486 +y4
487 $ hg commit --subrepos -m 3-4-2
487 $ hg commit --subrepos -m 3-4-2
488 committing subrepository foo
488 committing subrepository foo
489 $ hg outgoing -S
489 $ hg outgoing -S
490 comparing with $TESTTMP/repo (glob)
490 comparing with $TESTTMP/repo (glob)
491 searching for changes
491 searching for changes
492 changeset: 3:2655b8ecc4ee
492 changeset: 3:2655b8ecc4ee
493 tag: tip
493 tag: tip
494 user: test
494 user: test
495 date: Thu Jan 01 00:00:00 1970 +0000
495 date: Thu Jan 01 00:00:00 1970 +0000
496 summary: 3-4-2
496 summary: 3-4-2
497
497
498 comparing with $TESTTMP/repo/foo
498 comparing with $TESTTMP/repo/foo
499 searching for changes
499 searching for changes
500 changeset: 4:e96193d6cb36
500 changeset: 4:e96193d6cb36
501 tag: tip
501 tag: tip
502 user: test
502 user: test
503 date: Thu Jan 01 00:00:00 1970 +0000
503 date: Thu Jan 01 00:00:00 1970 +0000
504 summary: 3-4-2
504 summary: 3-4-2
505
505
506 comparing with $TESTTMP/repo/foo/bar
506 comparing with $TESTTMP/repo/foo/bar
507 searching for changes
507 searching for changes
508 no changes found
508 no changes found
509
509
510
510
511 Switch to original repo and setup default path:
511 Switch to original repo and setup default path:
512
512
513 $ cd ../repo
513 $ cd ../repo
514 $ echo '[paths]' >> .hg/hgrc
514 $ echo '[paths]' >> .hg/hgrc
515 $ echo 'default = ../repo2' >> .hg/hgrc
515 $ echo 'default = ../repo2' >> .hg/hgrc
516
516
517 Test incoming:
517 Test incoming:
518
518
519 $ hg incoming -S
519 $ hg incoming -S
520 comparing with $TESTTMP/repo2 (glob)
520 comparing with $TESTTMP/repo2 (glob)
521 searching for changes
521 searching for changes
522 changeset: 3:2655b8ecc4ee
522 changeset: 3:2655b8ecc4ee
523 tag: tip
523 tag: tip
524 user: test
524 user: test
525 date: Thu Jan 01 00:00:00 1970 +0000
525 date: Thu Jan 01 00:00:00 1970 +0000
526 summary: 3-4-2
526 summary: 3-4-2
527
527
528 comparing with $TESTTMP/repo2/foo
528 comparing with $TESTTMP/repo2/foo
529 searching for changes
529 searching for changes
530 changeset: 4:e96193d6cb36
530 changeset: 4:e96193d6cb36
531 tag: tip
531 tag: tip
532 user: test
532 user: test
533 date: Thu Jan 01 00:00:00 1970 +0000
533 date: Thu Jan 01 00:00:00 1970 +0000
534 summary: 3-4-2
534 summary: 3-4-2
535
535
536 comparing with $TESTTMP/repo2/foo/bar
536 comparing with $TESTTMP/repo2/foo/bar
537 searching for changes
537 searching for changes
538 no changes found
538 no changes found
539
539
540 $ hg incoming -S --bundle incoming.hg
540 $ hg incoming -S --bundle incoming.hg
541 abort: cannot combine --bundle and --subrepos
541 abort: cannot combine --bundle and --subrepos
542 [255]
542 [255]
543
543
544 Test missing subrepo:
544 Test missing subrepo:
545
545
546 $ rm -r foo
546 $ rm -r foo
547 $ hg status -S
547 $ hg status -S
548 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
548 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
549
549
550 Issue2619: IndexError: list index out of range on hg add with subrepos
550 Issue2619: IndexError: list index out of range on hg add with subrepos
551 The subrepo must sorts after the explicit filename.
551 The subrepo must sorts after the explicit filename.
552
552
553 $ cd ..
553 $ cd ..
554 $ hg init test
554 $ hg init test
555 $ cd test
555 $ cd test
556 $ hg init x
556 $ hg init x
557 $ echo abc > abc.txt
557 $ echo abc > abc.txt
558 $ hg ci -Am "abc"
558 $ hg ci -Am "abc"
559 adding abc.txt
559 adding abc.txt
560 $ echo "x = x" >> .hgsub
560 $ echo "x = x" >> .hgsub
561 $ hg add .hgsub
561 $ hg add .hgsub
562 $ touch a x/a
562 $ touch a x/a
563 $ hg add a x/a
563 $ hg add a x/a
564
564
565 $ hg ci -Sm "added x"
565 $ hg ci -Sm "added x"
566 committing subrepository x
566 committing subrepository x
567 $ echo abc > x/a
567 $ echo abc > x/a
568 $ hg revert --rev '.^' "set:subrepo('glob:x*')"
568 $ hg revert --rev '.^' "set:subrepo('glob:x*')"
569 abort: subrepository 'x' does not exist in 25ac2c9b3180!
569 abort: subrepository 'x' does not exist in 25ac2c9b3180!
570 [255]
570 [255]
571
571
572 $ cd ..
572 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now