##// END OF EJS Templates
test-subrepo-recursion: remove empty defaults section
Erik Zielke -
r12591:4b9f2388 default
parent child Browse files
Show More
@@ -1,352 +1,348 b''
1 Make status look into subrepositories by default:
2
3 $ echo '[defaults]' >> $HGRCPATH
4
5 Create test repository:
1 Create test repository:
6
2
7 $ hg init repo
3 $ hg init repo
8 $ cd repo
4 $ cd repo
9 $ echo x1 > x.txt
5 $ echo x1 > x.txt
10
6
11 $ hg init foo
7 $ hg init foo
12 $ cd foo
8 $ cd foo
13 $ echo y1 > y.txt
9 $ echo y1 > y.txt
14
10
15 $ hg init bar
11 $ hg init bar
16 $ cd bar
12 $ cd bar
17 $ echo z1 > z.txt
13 $ echo z1 > z.txt
18
14
19 $ cd ..
15 $ cd ..
20 $ echo 'bar = bar' > .hgsub
16 $ echo 'bar = bar' > .hgsub
21
17
22 $ cd ..
18 $ cd ..
23 $ echo 'foo = foo' > .hgsub
19 $ echo 'foo = foo' > .hgsub
24
20
25 Add files --- .hgsub files must go first to trigger subrepos:
21 Add files --- .hgsub files must go first to trigger subrepos:
26
22
27 $ hg add -S .hgsub
23 $ hg add -S .hgsub
28 $ hg add -S foo/.hgsub
24 $ hg add -S foo/.hgsub
29 $ hg add -S foo/bar
25 $ hg add -S foo/bar
30 adding foo/bar/z.txt
26 adding foo/bar/z.txt
31 $ hg add -S
27 $ hg add -S
32 adding x.txt
28 adding x.txt
33 adding foo/y.txt
29 adding foo/y.txt
34
30
35 Test recursive status without committing anything:
31 Test recursive status without committing anything:
36
32
37 $ hg status -S
33 $ hg status -S
38 A .hgsub
34 A .hgsub
39 A foo/.hgsub
35 A foo/.hgsub
40 A foo/bar/z.txt
36 A foo/bar/z.txt
41 A foo/y.txt
37 A foo/y.txt
42 A x.txt
38 A x.txt
43
39
44 Test recursive diff without committing anything:
40 Test recursive diff without committing anything:
45
41
46 $ hg diff --nodates -S foo
42 $ hg diff --nodates -S foo
47 diff -r 000000000000 foo/.hgsub
43 diff -r 000000000000 foo/.hgsub
48 --- /dev/null
44 --- /dev/null
49 +++ b/foo/.hgsub
45 +++ b/foo/.hgsub
50 @@ -0,0 +1,1 @@
46 @@ -0,0 +1,1 @@
51 +bar = bar
47 +bar = bar
52 diff -r 000000000000 foo/y.txt
48 diff -r 000000000000 foo/y.txt
53 --- /dev/null
49 --- /dev/null
54 +++ b/foo/y.txt
50 +++ b/foo/y.txt
55 @@ -0,0 +1,1 @@
51 @@ -0,0 +1,1 @@
56 +y1
52 +y1
57 diff -r 000000000000 foo/bar/z.txt
53 diff -r 000000000000 foo/bar/z.txt
58 --- /dev/null
54 --- /dev/null
59 +++ b/foo/bar/z.txt
55 +++ b/foo/bar/z.txt
60 @@ -0,0 +1,1 @@
56 @@ -0,0 +1,1 @@
61 +z1
57 +z1
62
58
63 Commits:
59 Commits:
64
60
65 $ hg commit -m 0-0-0
61 $ hg commit -m 0-0-0
66 committing subrepository foo
62 committing subrepository foo
67 committing subrepository foo/bar
63 committing subrepository foo/bar
68
64
69 $ cd foo
65 $ cd foo
70 $ echo y2 >> y.txt
66 $ echo y2 >> y.txt
71 $ hg commit -m 0-1-0
67 $ hg commit -m 0-1-0
72
68
73 $ cd bar
69 $ cd bar
74 $ echo z2 >> z.txt
70 $ echo z2 >> z.txt
75 $ hg commit -m 0-1-1
71 $ hg commit -m 0-1-1
76
72
77 $ cd ..
73 $ cd ..
78 $ hg commit -m 0-2-1
74 $ hg commit -m 0-2-1
79 committing subrepository bar
75 committing subrepository bar
80
76
81 $ cd ..
77 $ cd ..
82 $ hg commit -m 1-2-1
78 $ hg commit -m 1-2-1
83 committing subrepository foo
79 committing subrepository foo
84
80
85 Change working directory:
81 Change working directory:
86
82
87 $ echo y3 >> foo/y.txt
83 $ echo y3 >> foo/y.txt
88 $ echo z3 >> foo/bar/z.txt
84 $ echo z3 >> foo/bar/z.txt
89 $ hg status -S
85 $ hg status -S
90 M foo/bar/z.txt
86 M foo/bar/z.txt
91 M foo/y.txt
87 M foo/y.txt
92 $ hg diff --nodates -S
88 $ hg diff --nodates -S
93 diff -r d254738c5f5e foo/y.txt
89 diff -r d254738c5f5e foo/y.txt
94 --- a/foo/y.txt
90 --- a/foo/y.txt
95 +++ b/foo/y.txt
91 +++ b/foo/y.txt
96 @@ -1,2 +1,3 @@
92 @@ -1,2 +1,3 @@
97 y1
93 y1
98 y2
94 y2
99 +y3
95 +y3
100 diff -r 9647f22de499 foo/bar/z.txt
96 diff -r 9647f22de499 foo/bar/z.txt
101 --- a/foo/bar/z.txt
97 --- a/foo/bar/z.txt
102 +++ b/foo/bar/z.txt
98 +++ b/foo/bar/z.txt
103 @@ -1,2 +1,3 @@
99 @@ -1,2 +1,3 @@
104 z1
100 z1
105 z2
101 z2
106 +z3
102 +z3
107
103
108 Status call crossing repository boundaries:
104 Status call crossing repository boundaries:
109
105
110 $ hg status -S foo/bar/z.txt
106 $ hg status -S foo/bar/z.txt
111 M foo/bar/z.txt
107 M foo/bar/z.txt
112 $ hg status -S -I 'foo/?.txt'
108 $ hg status -S -I 'foo/?.txt'
113 M foo/y.txt
109 M foo/y.txt
114 $ hg status -S -I '**/?.txt'
110 $ hg status -S -I '**/?.txt'
115 M foo/bar/z.txt
111 M foo/bar/z.txt
116 M foo/y.txt
112 M foo/y.txt
117 $ hg diff --nodates -S -I '**/?.txt'
113 $ hg diff --nodates -S -I '**/?.txt'
118 diff -r d254738c5f5e foo/y.txt
114 diff -r d254738c5f5e foo/y.txt
119 --- a/foo/y.txt
115 --- a/foo/y.txt
120 +++ b/foo/y.txt
116 +++ b/foo/y.txt
121 @@ -1,2 +1,3 @@
117 @@ -1,2 +1,3 @@
122 y1
118 y1
123 y2
119 y2
124 +y3
120 +y3
125 diff -r 9647f22de499 foo/bar/z.txt
121 diff -r 9647f22de499 foo/bar/z.txt
126 --- a/foo/bar/z.txt
122 --- a/foo/bar/z.txt
127 +++ b/foo/bar/z.txt
123 +++ b/foo/bar/z.txt
128 @@ -1,2 +1,3 @@
124 @@ -1,2 +1,3 @@
129 z1
125 z1
130 z2
126 z2
131 +z3
127 +z3
132
128
133 Status from within a subdirectory:
129 Status from within a subdirectory:
134
130
135 $ mkdir dir
131 $ mkdir dir
136 $ cd dir
132 $ cd dir
137 $ echo a1 > a.txt
133 $ echo a1 > a.txt
138 $ hg status -S
134 $ hg status -S
139 M foo/bar/z.txt
135 M foo/bar/z.txt
140 M foo/y.txt
136 M foo/y.txt
141 ? dir/a.txt
137 ? dir/a.txt
142 $ hg diff --nodates -S
138 $ hg diff --nodates -S
143 diff -r d254738c5f5e foo/y.txt
139 diff -r d254738c5f5e foo/y.txt
144 --- a/foo/y.txt
140 --- a/foo/y.txt
145 +++ b/foo/y.txt
141 +++ b/foo/y.txt
146 @@ -1,2 +1,3 @@
142 @@ -1,2 +1,3 @@
147 y1
143 y1
148 y2
144 y2
149 +y3
145 +y3
150 diff -r 9647f22de499 foo/bar/z.txt
146 diff -r 9647f22de499 foo/bar/z.txt
151 --- a/foo/bar/z.txt
147 --- a/foo/bar/z.txt
152 +++ b/foo/bar/z.txt
148 +++ b/foo/bar/z.txt
153 @@ -1,2 +1,3 @@
149 @@ -1,2 +1,3 @@
154 z1
150 z1
155 z2
151 z2
156 +z3
152 +z3
157
153
158 Status with relative path:
154 Status with relative path:
159
155
160 $ hg status -S ..
156 $ hg status -S ..
161 M ../foo/bar/z.txt
157 M ../foo/bar/z.txt
162 M ../foo/y.txt
158 M ../foo/y.txt
163 ? a.txt
159 ? a.txt
164 $ hg diff --nodates -S ..
160 $ hg diff --nodates -S ..
165 diff -r d254738c5f5e foo/y.txt
161 diff -r d254738c5f5e foo/y.txt
166 --- a/foo/y.txt
162 --- a/foo/y.txt
167 +++ b/foo/y.txt
163 +++ b/foo/y.txt
168 @@ -1,2 +1,3 @@
164 @@ -1,2 +1,3 @@
169 y1
165 y1
170 y2
166 y2
171 +y3
167 +y3
172 diff -r 9647f22de499 foo/bar/z.txt
168 diff -r 9647f22de499 foo/bar/z.txt
173 --- a/foo/bar/z.txt
169 --- a/foo/bar/z.txt
174 +++ b/foo/bar/z.txt
170 +++ b/foo/bar/z.txt
175 @@ -1,2 +1,3 @@
171 @@ -1,2 +1,3 @@
176 z1
172 z1
177 z2
173 z2
178 +z3
174 +z3
179 $ cd ..
175 $ cd ..
180
176
181 Cleanup and final commit:
177 Cleanup and final commit:
182
178
183 $ rm -r dir
179 $ rm -r dir
184 $ hg commit -m 2-3-2
180 $ hg commit -m 2-3-2
185 committing subrepository foo
181 committing subrepository foo
186 committing subrepository foo/bar
182 committing subrepository foo/bar
187
183
188 Log with the relationships between repo and its subrepo:
184 Log with the relationships between repo and its subrepo:
189
185
190 $ hg log --template '{rev}:{node|short} {desc}\n'
186 $ hg log --template '{rev}:{node|short} {desc}\n'
191 2:1326fa26d0c0 2-3-2
187 2:1326fa26d0c0 2-3-2
192 1:4b3c9ff4f66b 1-2-1
188 1:4b3c9ff4f66b 1-2-1
193 0:23376cbba0d8 0-0-0
189 0:23376cbba0d8 0-0-0
194
190
195 $ hg -R foo log --template '{rev}:{node|short} {desc}\n'
191 $ hg -R foo log --template '{rev}:{node|short} {desc}\n'
196 3:65903cebad86 2-3-2
192 3:65903cebad86 2-3-2
197 2:d254738c5f5e 0-2-1
193 2:d254738c5f5e 0-2-1
198 1:8629ce7dcc39 0-1-0
194 1:8629ce7dcc39 0-1-0
199 0:af048e97ade2 0-0-0
195 0:af048e97ade2 0-0-0
200
196
201 $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n'
197 $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n'
202 2:31ecbdafd357 2-3-2
198 2:31ecbdafd357 2-3-2
203 1:9647f22de499 0-1-1
199 1:9647f22de499 0-1-1
204 0:4904098473f9 0-0-0
200 0:4904098473f9 0-0-0
205
201
206 Status between revisions:
202 Status between revisions:
207
203
208 $ hg status -S
204 $ hg status -S
209 $ hg status -S --rev 0:1
205 $ hg status -S --rev 0:1
210 M .hgsubstate
206 M .hgsubstate
211 M foo/.hgsubstate
207 M foo/.hgsubstate
212 M foo/bar/z.txt
208 M foo/bar/z.txt
213 M foo/y.txt
209 M foo/y.txt
214 $ hg diff --nodates -S -I '**/?.txt' --rev 0:1
210 $ hg diff --nodates -S -I '**/?.txt' --rev 0:1
215 diff -r af048e97ade2 -r d254738c5f5e foo/y.txt
211 diff -r af048e97ade2 -r d254738c5f5e foo/y.txt
216 --- a/foo/y.txt
212 --- a/foo/y.txt
217 +++ b/foo/y.txt
213 +++ b/foo/y.txt
218 @@ -1,1 +1,2 @@
214 @@ -1,1 +1,2 @@
219 y1
215 y1
220 +y2
216 +y2
221 diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt
217 diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt
222 --- a/foo/bar/z.txt
218 --- a/foo/bar/z.txt
223 +++ b/foo/bar/z.txt
219 +++ b/foo/bar/z.txt
224 @@ -1,1 +1,2 @@
220 @@ -1,1 +1,2 @@
225 z1
221 z1
226 +z2
222 +z2
227
223
228 Test archiving to a directory tree:
224 Test archiving to a directory tree:
229
225
230 $ hg archive --subrepos ../archive
226 $ hg archive --subrepos ../archive
231 $ find ../archive | sort
227 $ find ../archive | sort
232 ../archive
228 ../archive
233 ../archive/.hg_archival.txt
229 ../archive/.hg_archival.txt
234 ../archive/.hgsub
230 ../archive/.hgsub
235 ../archive/.hgsubstate
231 ../archive/.hgsubstate
236 ../archive/foo
232 ../archive/foo
237 ../archive/foo/.hgsub
233 ../archive/foo/.hgsub
238 ../archive/foo/.hgsubstate
234 ../archive/foo/.hgsubstate
239 ../archive/foo/bar
235 ../archive/foo/bar
240 ../archive/foo/bar/z.txt
236 ../archive/foo/bar/z.txt
241 ../archive/foo/y.txt
237 ../archive/foo/y.txt
242 ../archive/x.txt
238 ../archive/x.txt
243
239
244 Test archiving to zip file (unzip output is unstable):
240 Test archiving to zip file (unzip output is unstable):
245
241
246 $ hg archive --subrepos ../archive.zip
242 $ hg archive --subrepos ../archive.zip
247
243
248 Clone and test outgoing:
244 Clone and test outgoing:
249
245
250 $ cd ..
246 $ cd ..
251 $ hg clone repo repo2
247 $ hg clone repo repo2
252 updating to branch default
248 updating to branch default
253 pulling subrepo foo from */repo/foo (glob)
249 pulling subrepo foo from */repo/foo (glob)
254 requesting all changes
250 requesting all changes
255 adding changesets
251 adding changesets
256 adding manifests
252 adding manifests
257 adding file changes
253 adding file changes
258 added 4 changesets with 7 changes to 3 files
254 added 4 changesets with 7 changes to 3 files
259 pulling subrepo foo/bar from */repo/foo/bar (glob)
255 pulling subrepo foo/bar from */repo/foo/bar (glob)
260 requesting all changes
256 requesting all changes
261 adding changesets
257 adding changesets
262 adding manifests
258 adding manifests
263 adding file changes
259 adding file changes
264 added 3 changesets with 3 changes to 1 files
260 added 3 changesets with 3 changes to 1 files
265 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
261 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
266 $ cd repo2
262 $ cd repo2
267 $ hg outgoing -S
263 $ hg outgoing -S
268 comparing with */repo (glob)
264 comparing with */repo (glob)
269 searching for changes
265 searching for changes
270 no changes found
266 no changes found
271 comparing with */repo/foo (glob)
267 comparing with */repo/foo (glob)
272 searching for changes
268 searching for changes
273 no changes found
269 no changes found
274 comparing with */repo/foo/bar (glob)
270 comparing with */repo/foo/bar (glob)
275 searching for changes
271 searching for changes
276 no changes found
272 no changes found
277 [1]
273 [1]
278
274
279 Make nested change:
275 Make nested change:
280
276
281 $ echo y4 >> foo/y.txt
277 $ echo y4 >> foo/y.txt
282 $ hg diff --nodates -S
278 $ hg diff --nodates -S
283 diff -r 65903cebad86 foo/y.txt
279 diff -r 65903cebad86 foo/y.txt
284 --- a/foo/y.txt
280 --- a/foo/y.txt
285 +++ b/foo/y.txt
281 +++ b/foo/y.txt
286 @@ -1,3 +1,4 @@
282 @@ -1,3 +1,4 @@
287 y1
283 y1
288 y2
284 y2
289 y3
285 y3
290 +y4
286 +y4
291 $ hg commit -m 3-4-2
287 $ hg commit -m 3-4-2
292 committing subrepository foo
288 committing subrepository foo
293 $ hg outgoing -S
289 $ hg outgoing -S
294 comparing with */repo (glob)
290 comparing with */repo (glob)
295 searching for changes
291 searching for changes
296 changeset: 3:2655b8ecc4ee
292 changeset: 3:2655b8ecc4ee
297 tag: tip
293 tag: tip
298 user: test
294 user: test
299 date: Thu Jan 01 00:00:00 1970 +0000
295 date: Thu Jan 01 00:00:00 1970 +0000
300 summary: 3-4-2
296 summary: 3-4-2
301
297
302 comparing with */repo/foo (glob)
298 comparing with */repo/foo (glob)
303 searching for changes
299 searching for changes
304 changeset: 4:e96193d6cb36
300 changeset: 4:e96193d6cb36
305 tag: tip
301 tag: tip
306 user: test
302 user: test
307 date: Thu Jan 01 00:00:00 1970 +0000
303 date: Thu Jan 01 00:00:00 1970 +0000
308 summary: 3-4-2
304 summary: 3-4-2
309
305
310 comparing with */repo/foo/bar (glob)
306 comparing with */repo/foo/bar (glob)
311 searching for changes
307 searching for changes
312 no changes found
308 no changes found
313
309
314
310
315 Switch to original repo and setup default path:
311 Switch to original repo and setup default path:
316
312
317 $ cd ../repo
313 $ cd ../repo
318 $ echo '[paths]' >> .hg/hgrc
314 $ echo '[paths]' >> .hg/hgrc
319 $ echo 'default = ../repo2' >> .hg/hgrc
315 $ echo 'default = ../repo2' >> .hg/hgrc
320
316
321 Test incoming:
317 Test incoming:
322
318
323 $ hg incoming -S
319 $ hg incoming -S
324 comparing with */repo2 (glob)
320 comparing with */repo2 (glob)
325 searching for changes
321 searching for changes
326 changeset: 3:2655b8ecc4ee
322 changeset: 3:2655b8ecc4ee
327 tag: tip
323 tag: tip
328 user: test
324 user: test
329 date: Thu Jan 01 00:00:00 1970 +0000
325 date: Thu Jan 01 00:00:00 1970 +0000
330 summary: 3-4-2
326 summary: 3-4-2
331
327
332 comparing with */repo2/foo (glob)
328 comparing with */repo2/foo (glob)
333 searching for changes
329 searching for changes
334 changeset: 4:e96193d6cb36
330 changeset: 4:e96193d6cb36
335 tag: tip
331 tag: tip
336 user: test
332 user: test
337 date: Thu Jan 01 00:00:00 1970 +0000
333 date: Thu Jan 01 00:00:00 1970 +0000
338 summary: 3-4-2
334 summary: 3-4-2
339
335
340 comparing with */repo2/foo/bar (glob)
336 comparing with */repo2/foo/bar (glob)
341 searching for changes
337 searching for changes
342 no changes found
338 no changes found
343
339
344 $ hg incoming -S --bundle incoming.hg
340 $ hg incoming -S --bundle incoming.hg
345 abort: cannot combine --bundle and --subrepos
341 abort: cannot combine --bundle and --subrepos
346 [255]
342 [255]
347
343
348 Test missing subrepo:
344 Test missing subrepo:
349
345
350 $ rm -r foo
346 $ rm -r foo
351 $ hg status -S
347 $ hg status -S
352 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
348 warning: error "unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'" in subrepository "foo"
General Comments 0
You need to be logged in to leave comments. Login now