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