##// END OF EJS Templates
test-subrepo: update output for Windows
Matt Harbison -
r31772:3433bf56 default
parent child Browse files
Show More
@@ -1,1778 +1,1779 b''
1 Let commit recurse into subrepos by default to match pre-2.0 behavior:
1 Let commit recurse into subrepos by default to match pre-2.0 behavior:
2
2
3 $ echo "[ui]" >> $HGRCPATH
3 $ echo "[ui]" >> $HGRCPATH
4 $ echo "commitsubrepos = Yes" >> $HGRCPATH
4 $ echo "commitsubrepos = Yes" >> $HGRCPATH
5
5
6 $ hg init t
6 $ hg init t
7 $ cd t
7 $ cd t
8
8
9 first revision, no sub
9 first revision, no sub
10
10
11 $ echo a > a
11 $ echo a > a
12 $ hg ci -Am0
12 $ hg ci -Am0
13 adding a
13 adding a
14
14
15 add first sub
15 add first sub
16
16
17 $ echo s = s > .hgsub
17 $ echo s = s > .hgsub
18 $ hg add .hgsub
18 $ hg add .hgsub
19 $ hg init s
19 $ hg init s
20 $ echo a > s/a
20 $ echo a > s/a
21
21
22 Issue2232: committing a subrepo without .hgsub
22 Issue2232: committing a subrepo without .hgsub
23
23
24 $ hg ci -mbad s
24 $ hg ci -mbad s
25 abort: can't commit subrepos without .hgsub
25 abort: can't commit subrepos without .hgsub
26 [255]
26 [255]
27
27
28 $ hg -R s add s/a
28 $ hg -R s add s/a
29 $ hg files -S
29 $ hg files -S
30 .hgsub
30 .hgsub
31 a
31 a
32 s/a (glob)
32 s/a (glob)
33
33
34 $ hg -R s ci -Ams0
34 $ hg -R s ci -Ams0
35 $ hg sum
35 $ hg sum
36 parent: 0:f7b1eb17ad24 tip
36 parent: 0:f7b1eb17ad24 tip
37 0
37 0
38 branch: default
38 branch: default
39 commit: 1 added, 1 subrepos
39 commit: 1 added, 1 subrepos
40 update: (current)
40 update: (current)
41 phases: 1 draft
41 phases: 1 draft
42 $ hg ci -m1
42 $ hg ci -m1
43
43
44 test handling .hgsubstate "added" explicitly.
44 test handling .hgsubstate "added" explicitly.
45
45
46 $ hg parents --template '{node}\n{files}\n'
46 $ hg parents --template '{node}\n{files}\n'
47 7cf8cfea66e410e8e3336508dfeec07b3192de51
47 7cf8cfea66e410e8e3336508dfeec07b3192de51
48 .hgsub .hgsubstate
48 .hgsub .hgsubstate
49 $ hg rollback -q
49 $ hg rollback -q
50 $ hg add .hgsubstate
50 $ hg add .hgsubstate
51 $ hg ci -m1
51 $ hg ci -m1
52 $ hg parents --template '{node}\n{files}\n'
52 $ hg parents --template '{node}\n{files}\n'
53 7cf8cfea66e410e8e3336508dfeec07b3192de51
53 7cf8cfea66e410e8e3336508dfeec07b3192de51
54 .hgsub .hgsubstate
54 .hgsub .hgsubstate
55
55
56 Subrepopath which overlaps with filepath, does not change warnings in remove()
56 Subrepopath which overlaps with filepath, does not change warnings in remove()
57
57
58 $ mkdir snot
58 $ mkdir snot
59 $ touch snot/file
59 $ touch snot/file
60 $ hg remove -S snot/file
60 $ hg remove -S snot/file
61 not removing snot/file: file is untracked (glob)
61 not removing snot/file: file is untracked (glob)
62 [1]
62 [1]
63 $ hg cat snot/filenot
63 $ hg cat snot/filenot
64 snot/filenot: no such file in rev 7cf8cfea66e4 (glob)
64 snot/filenot: no such file in rev 7cf8cfea66e4 (glob)
65 [1]
65 [1]
66 $ rm -r snot
66 $ rm -r snot
67
67
68 Revert subrepo and test subrepo fileset keyword:
68 Revert subrepo and test subrepo fileset keyword:
69
69
70 $ echo b > s/a
70 $ echo b > s/a
71 $ hg revert --dry-run "set:subrepo('glob:s*')"
71 $ hg revert --dry-run "set:subrepo('glob:s*')"
72 reverting subrepo s
72 reverting subrepo s
73 reverting s/a (glob)
73 reverting s/a (glob)
74 $ cat s/a
74 $ cat s/a
75 b
75 b
76 $ hg revert "set:subrepo('glob:s*')"
76 $ hg revert "set:subrepo('glob:s*')"
77 reverting subrepo s
77 reverting subrepo s
78 reverting s/a (glob)
78 reverting s/a (glob)
79 $ cat s/a
79 $ cat s/a
80 a
80 a
81 $ rm s/a.orig
81 $ rm s/a.orig
82
82
83 Revert subrepo with no backup. The "reverting s/a" line is gone since
83 Revert subrepo with no backup. The "reverting s/a" line is gone since
84 we're really running 'hg update' in the subrepo:
84 we're really running 'hg update' in the subrepo:
85
85
86 $ echo b > s/a
86 $ echo b > s/a
87 $ hg revert --no-backup s
87 $ hg revert --no-backup s
88 reverting subrepo s
88 reverting subrepo s
89
89
90 Issue2022: update -C
90 Issue2022: update -C
91
91
92 $ echo b > s/a
92 $ echo b > s/a
93 $ hg sum
93 $ hg sum
94 parent: 1:7cf8cfea66e4 tip
94 parent: 1:7cf8cfea66e4 tip
95 1
95 1
96 branch: default
96 branch: default
97 commit: 1 subrepos
97 commit: 1 subrepos
98 update: (current)
98 update: (current)
99 phases: 2 draft
99 phases: 2 draft
100 $ hg co -C 1
100 $ hg co -C 1
101 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
101 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
102 $ hg sum
102 $ hg sum
103 parent: 1:7cf8cfea66e4 tip
103 parent: 1:7cf8cfea66e4 tip
104 1
104 1
105 branch: default
105 branch: default
106 commit: (clean)
106 commit: (clean)
107 update: (current)
107 update: (current)
108 phases: 2 draft
108 phases: 2 draft
109
109
110 commands that require a clean repo should respect subrepos
110 commands that require a clean repo should respect subrepos
111
111
112 $ echo b >> s/a
112 $ echo b >> s/a
113 $ hg backout tip
113 $ hg backout tip
114 abort: uncommitted changes in subrepository 's'
114 abort: uncommitted changes in subrepository 's'
115 [255]
115 [255]
116 $ hg revert -C -R s s/a
116 $ hg revert -C -R s s/a
117
117
118 add sub sub
118 add sub sub
119
119
120 $ echo ss = ss > s/.hgsub
120 $ echo ss = ss > s/.hgsub
121 $ hg init s/ss
121 $ hg init s/ss
122 $ echo a > s/ss/a
122 $ echo a > s/ss/a
123 $ hg -R s add s/.hgsub
123 $ hg -R s add s/.hgsub
124 $ hg -R s/ss add s/ss/a
124 $ hg -R s/ss add s/ss/a
125 $ hg sum
125 $ hg sum
126 parent: 1:7cf8cfea66e4 tip
126 parent: 1:7cf8cfea66e4 tip
127 1
127 1
128 branch: default
128 branch: default
129 commit: 1 subrepos
129 commit: 1 subrepos
130 update: (current)
130 update: (current)
131 phases: 2 draft
131 phases: 2 draft
132 $ hg ci -m2
132 $ hg ci -m2
133 committing subrepository s
133 committing subrepository s
134 committing subrepository s/ss (glob)
134 committing subrepository s/ss (glob)
135 $ hg sum
135 $ hg sum
136 parent: 2:df30734270ae tip
136 parent: 2:df30734270ae tip
137 2
137 2
138 branch: default
138 branch: default
139 commit: (clean)
139 commit: (clean)
140 update: (current)
140 update: (current)
141 phases: 3 draft
141 phases: 3 draft
142
142
143 test handling .hgsubstate "modified" explicitly.
143 test handling .hgsubstate "modified" explicitly.
144
144
145 $ hg parents --template '{node}\n{files}\n'
145 $ hg parents --template '{node}\n{files}\n'
146 df30734270ae757feb35e643b7018e818e78a9aa
146 df30734270ae757feb35e643b7018e818e78a9aa
147 .hgsubstate
147 .hgsubstate
148 $ hg rollback -q
148 $ hg rollback -q
149 $ hg status -A .hgsubstate
149 $ hg status -A .hgsubstate
150 M .hgsubstate
150 M .hgsubstate
151 $ hg ci -m2
151 $ hg ci -m2
152 $ hg parents --template '{node}\n{files}\n'
152 $ hg parents --template '{node}\n{files}\n'
153 df30734270ae757feb35e643b7018e818e78a9aa
153 df30734270ae757feb35e643b7018e818e78a9aa
154 .hgsubstate
154 .hgsubstate
155
155
156 bump sub rev (and check it is ignored by ui.commitsubrepos)
156 bump sub rev (and check it is ignored by ui.commitsubrepos)
157
157
158 $ echo b > s/a
158 $ echo b > s/a
159 $ hg -R s ci -ms1
159 $ hg -R s ci -ms1
160 $ hg --config ui.commitsubrepos=no ci -m3
160 $ hg --config ui.commitsubrepos=no ci -m3
161
161
162 leave sub dirty (and check ui.commitsubrepos=no aborts the commit)
162 leave sub dirty (and check ui.commitsubrepos=no aborts the commit)
163
163
164 $ echo c > s/a
164 $ echo c > s/a
165 $ hg --config ui.commitsubrepos=no ci -m4
165 $ hg --config ui.commitsubrepos=no ci -m4
166 abort: uncommitted changes in subrepository 's'
166 abort: uncommitted changes in subrepository 's'
167 (use --subrepos for recursive commit)
167 (use --subrepos for recursive commit)
168 [255]
168 [255]
169 $ hg id
169 $ hg id
170 f6affe3fbfaa+ tip
170 f6affe3fbfaa+ tip
171 $ hg -R s ci -mc
171 $ hg -R s ci -mc
172 $ hg id
172 $ hg id
173 f6affe3fbfaa+ tip
173 f6affe3fbfaa+ tip
174 $ echo d > s/a
174 $ echo d > s/a
175 $ hg ci -m4
175 $ hg ci -m4
176 committing subrepository s
176 committing subrepository s
177 $ hg tip -R s
177 $ hg tip -R s
178 changeset: 4:02dcf1d70411
178 changeset: 4:02dcf1d70411
179 tag: tip
179 tag: tip
180 user: test
180 user: test
181 date: Thu Jan 01 00:00:00 1970 +0000
181 date: Thu Jan 01 00:00:00 1970 +0000
182 summary: 4
182 summary: 4
183
183
184
184
185 check caching
185 check caching
186
186
187 $ hg co 0
187 $ hg co 0
188 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
188 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
189 $ hg debugsub
189 $ hg debugsub
190
190
191 restore
191 restore
192
192
193 $ hg co
193 $ hg co
194 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
194 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
195 $ hg debugsub
195 $ hg debugsub
196 path s
196 path s
197 source s
197 source s
198 revision 02dcf1d704118aee3ee306ccfa1910850d5b05ef
198 revision 02dcf1d704118aee3ee306ccfa1910850d5b05ef
199
199
200 new branch for merge tests
200 new branch for merge tests
201
201
202 $ hg co 1
202 $ hg co 1
203 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
203 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
204 $ echo t = t >> .hgsub
204 $ echo t = t >> .hgsub
205 $ hg init t
205 $ hg init t
206 $ echo t > t/t
206 $ echo t > t/t
207 $ hg -R t add t
207 $ hg -R t add t
208 adding t/t (glob)
208 adding t/t (glob)
209
209
210 5
210 5
211
211
212 $ hg ci -m5 # add sub
212 $ hg ci -m5 # add sub
213 committing subrepository t
213 committing subrepository t
214 created new head
214 created new head
215 $ echo t2 > t/t
215 $ echo t2 > t/t
216
216
217 6
217 6
218
218
219 $ hg st -R s
219 $ hg st -R s
220 $ hg ci -m6 # change sub
220 $ hg ci -m6 # change sub
221 committing subrepository t
221 committing subrepository t
222 $ hg debugsub
222 $ hg debugsub
223 path s
223 path s
224 source s
224 source s
225 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
225 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
226 path t
226 path t
227 source t
227 source t
228 revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad
228 revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad
229 $ echo t3 > t/t
229 $ echo t3 > t/t
230
230
231 7
231 7
232
232
233 $ hg ci -m7 # change sub again for conflict test
233 $ hg ci -m7 # change sub again for conflict test
234 committing subrepository t
234 committing subrepository t
235 $ hg rm .hgsub
235 $ hg rm .hgsub
236
236
237 8
237 8
238
238
239 $ hg ci -m8 # remove sub
239 $ hg ci -m8 # remove sub
240
240
241 test handling .hgsubstate "removed" explicitly.
241 test handling .hgsubstate "removed" explicitly.
242
242
243 $ hg parents --template '{node}\n{files}\n'
243 $ hg parents --template '{node}\n{files}\n'
244 96615c1dad2dc8e3796d7332c77ce69156f7b78e
244 96615c1dad2dc8e3796d7332c77ce69156f7b78e
245 .hgsub .hgsubstate
245 .hgsub .hgsubstate
246 $ hg rollback -q
246 $ hg rollback -q
247 $ hg remove .hgsubstate
247 $ hg remove .hgsubstate
248 $ hg ci -m8
248 $ hg ci -m8
249 $ hg parents --template '{node}\n{files}\n'
249 $ hg parents --template '{node}\n{files}\n'
250 96615c1dad2dc8e3796d7332c77ce69156f7b78e
250 96615c1dad2dc8e3796d7332c77ce69156f7b78e
251 .hgsub .hgsubstate
251 .hgsub .hgsubstate
252
252
253 merge tests
253 merge tests
254
254
255 $ hg co -C 3
255 $ hg co -C 3
256 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
256 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
257 $ hg merge 5 # test adding
257 $ hg merge 5 # test adding
258 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
258 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
259 (branch merge, don't forget to commit)
259 (branch merge, don't forget to commit)
260 $ hg debugsub
260 $ hg debugsub
261 path s
261 path s
262 source s
262 source s
263 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
263 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
264 path t
264 path t
265 source t
265 source t
266 revision 60ca1237c19474e7a3978b0dc1ca4e6f36d51382
266 revision 60ca1237c19474e7a3978b0dc1ca4e6f36d51382
267 $ hg ci -m9
267 $ hg ci -m9
268 created new head
268 created new head
269 $ hg merge 6 --debug # test change
269 $ hg merge 6 --debug # test change
270 searching for copies back to rev 2
270 searching for copies back to rev 2
271 resolving manifests
271 resolving manifests
272 branchmerge: True, force: False, partial: False
272 branchmerge: True, force: False, partial: False
273 ancestor: 1f14a2e2d3ec, local: f0d2028bf86d+, remote: 1831e14459c4
273 ancestor: 1f14a2e2d3ec, local: f0d2028bf86d+, remote: 1831e14459c4
274 starting 4 threads for background file closing (?)
274 starting 4 threads for background file closing (?)
275 .hgsubstate: versions differ -> m (premerge)
275 .hgsubstate: versions differ -> m (premerge)
276 subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec
276 subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec
277 subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad:hg
277 subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad:hg
278 getting subrepo t
278 getting subrepo t
279 resolving manifests
279 resolving manifests
280 branchmerge: False, force: False, partial: False
280 branchmerge: False, force: False, partial: False
281 ancestor: 60ca1237c194, local: 60ca1237c194+, remote: 6747d179aa9a
281 ancestor: 60ca1237c194, local: 60ca1237c194+, remote: 6747d179aa9a
282 t: remote is newer -> g
282 t: remote is newer -> g
283 getting t
283 getting t
284 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
284 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
285 (branch merge, don't forget to commit)
285 (branch merge, don't forget to commit)
286 $ hg debugsub
286 $ hg debugsub
287 path s
287 path s
288 source s
288 source s
289 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
289 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
290 path t
290 path t
291 source t
291 source t
292 revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad
292 revision 6747d179aa9a688023c4b0cad32e4c92bb7f34ad
293 $ echo conflict > t/t
293 $ echo conflict > t/t
294 $ hg ci -m10
294 $ hg ci -m10
295 committing subrepository t
295 committing subrepository t
296 $ HGMERGE=internal:merge hg merge --debug 7 # test conflict
296 $ HGMERGE=internal:merge hg merge --debug 7 # test conflict
297 searching for copies back to rev 2
297 searching for copies back to rev 2
298 resolving manifests
298 resolving manifests
299 branchmerge: True, force: False, partial: False
299 branchmerge: True, force: False, partial: False
300 ancestor: 1831e14459c4, local: e45c8b14af55+, remote: f94576341bcf
300 ancestor: 1831e14459c4, local: e45c8b14af55+, remote: f94576341bcf
301 starting 4 threads for background file closing (?)
301 starting 4 threads for background file closing (?)
302 .hgsubstate: versions differ -> m (premerge)
302 .hgsubstate: versions differ -> m (premerge)
303 subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4
303 subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4
304 subrepo t: both sides changed
304 subrepo t: both sides changed
305 subrepository t diverged (local revision: 20a0db6fbf6c, remote revision: 7af322bc1198)
305 subrepository t diverged (local revision: 20a0db6fbf6c, remote revision: 7af322bc1198)
306 starting 4 threads for background file closing (?)
306 starting 4 threads for background file closing (?)
307 (M)erge, keep (l)ocal [working copy] or keep (r)emote [merge rev]? m
307 (M)erge, keep (l)ocal [working copy] or keep (r)emote [merge rev]? m
308 merging subrepo t
308 merging subrepo t
309 searching for copies back to rev 2
309 searching for copies back to rev 2
310 resolving manifests
310 resolving manifests
311 branchmerge: True, force: False, partial: False
311 branchmerge: True, force: False, partial: False
312 ancestor: 6747d179aa9a, local: 20a0db6fbf6c+, remote: 7af322bc1198
312 ancestor: 6747d179aa9a, local: 20a0db6fbf6c+, remote: 7af322bc1198
313 preserving t for resolve of t
313 preserving t for resolve of t
314 starting 4 threads for background file closing (?)
314 t: versions differ -> m (premerge)
315 t: versions differ -> m (premerge)
315 picked tool ':merge' for t (binary False symlink False changedelete False)
316 picked tool ':merge' for t (binary False symlink False changedelete False)
316 merging t
317 merging t
317 my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a
318 my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a
318 t: versions differ -> m (merge)
319 t: versions differ -> m (merge)
319 picked tool ':merge' for t (binary False symlink False changedelete False)
320 picked tool ':merge' for t (binary False symlink False changedelete False)
320 my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a
321 my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a
321 warning: conflicts while merging t! (edit, then use 'hg resolve --mark')
322 warning: conflicts while merging t! (edit, then use 'hg resolve --mark')
322 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
323 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
323 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
324 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
324 subrepo t: merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4:hg
325 subrepo t: merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4:hg
325 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
326 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
326 (branch merge, don't forget to commit)
327 (branch merge, don't forget to commit)
327
328
328 should conflict
329 should conflict
329
330
330 $ cat t/t
331 $ cat t/t
331 <<<<<<< local: 20a0db6fbf6c - test: 10
332 <<<<<<< local: 20a0db6fbf6c - test: 10
332 conflict
333 conflict
333 =======
334 =======
334 t3
335 t3
335 >>>>>>> other: 7af322bc1198 - test: 7
336 >>>>>>> other: 7af322bc1198 - test: 7
336
337
337 11: remove subrepo t
338 11: remove subrepo t
338
339
339 $ hg co -C 5
340 $ hg co -C 5
340 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
341 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
341 $ hg revert -r 4 .hgsub # remove t
342 $ hg revert -r 4 .hgsub # remove t
342 $ hg ci -m11
343 $ hg ci -m11
343 created new head
344 created new head
344 $ hg debugsub
345 $ hg debugsub
345 path s
346 path s
346 source s
347 source s
347 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
348 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
348
349
349 local removed, remote changed, keep changed
350 local removed, remote changed, keep changed
350
351
351 $ hg merge 6
352 $ hg merge 6
352 remote [merge rev] changed subrepository t which local [working copy] removed
353 remote [merge rev] changed subrepository t which local [working copy] removed
353 use (c)hanged version or (d)elete? c
354 use (c)hanged version or (d)elete? c
354 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
355 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
355 (branch merge, don't forget to commit)
356 (branch merge, don't forget to commit)
356 BROKEN: should include subrepo t
357 BROKEN: should include subrepo t
357 $ hg debugsub
358 $ hg debugsub
358 path s
359 path s
359 source s
360 source s
360 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
361 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
361 $ cat .hgsubstate
362 $ cat .hgsubstate
362 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
363 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
363 6747d179aa9a688023c4b0cad32e4c92bb7f34ad t
364 6747d179aa9a688023c4b0cad32e4c92bb7f34ad t
364 $ hg ci -m 'local removed, remote changed, keep changed'
365 $ hg ci -m 'local removed, remote changed, keep changed'
365 BROKEN: should include subrepo t
366 BROKEN: should include subrepo t
366 $ hg debugsub
367 $ hg debugsub
367 path s
368 path s
368 source s
369 source s
369 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
370 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
370 BROKEN: should include subrepo t
371 BROKEN: should include subrepo t
371 $ cat .hgsubstate
372 $ cat .hgsubstate
372 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
373 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
373 $ cat t/t
374 $ cat t/t
374 t2
375 t2
375
376
376 local removed, remote changed, keep removed
377 local removed, remote changed, keep removed
377
378
378 $ hg co -C 11
379 $ hg co -C 11
379 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
380 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
380 $ hg merge --config ui.interactive=true 6 <<EOF
381 $ hg merge --config ui.interactive=true 6 <<EOF
381 > d
382 > d
382 > EOF
383 > EOF
383 remote [merge rev] changed subrepository t which local [working copy] removed
384 remote [merge rev] changed subrepository t which local [working copy] removed
384 use (c)hanged version or (d)elete? d
385 use (c)hanged version or (d)elete? d
385 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
386 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
386 (branch merge, don't forget to commit)
387 (branch merge, don't forget to commit)
387 $ hg debugsub
388 $ hg debugsub
388 path s
389 path s
389 source s
390 source s
390 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
391 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
391 $ cat .hgsubstate
392 $ cat .hgsubstate
392 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
393 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
393 $ hg ci -m 'local removed, remote changed, keep removed'
394 $ hg ci -m 'local removed, remote changed, keep removed'
394 created new head
395 created new head
395 $ hg debugsub
396 $ hg debugsub
396 path s
397 path s
397 source s
398 source s
398 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
399 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
399 $ cat .hgsubstate
400 $ cat .hgsubstate
400 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
401 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
401
402
402 local changed, remote removed, keep changed
403 local changed, remote removed, keep changed
403
404
404 $ hg co -C 6
405 $ hg co -C 6
405 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
406 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
406 $ hg merge 11
407 $ hg merge 11
407 local [working copy] changed subrepository t which remote [merge rev] removed
408 local [working copy] changed subrepository t which remote [merge rev] removed
408 use (c)hanged version or (d)elete? c
409 use (c)hanged version or (d)elete? c
409 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
410 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
410 (branch merge, don't forget to commit)
411 (branch merge, don't forget to commit)
411 BROKEN: should include subrepo t
412 BROKEN: should include subrepo t
412 $ hg debugsub
413 $ hg debugsub
413 path s
414 path s
414 source s
415 source s
415 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
416 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
416 BROKEN: should include subrepo t
417 BROKEN: should include subrepo t
417 $ cat .hgsubstate
418 $ cat .hgsubstate
418 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
419 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
419 $ hg ci -m 'local changed, remote removed, keep changed'
420 $ hg ci -m 'local changed, remote removed, keep changed'
420 created new head
421 created new head
421 BROKEN: should include subrepo t
422 BROKEN: should include subrepo t
422 $ hg debugsub
423 $ hg debugsub
423 path s
424 path s
424 source s
425 source s
425 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
426 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
426 BROKEN: should include subrepo t
427 BROKEN: should include subrepo t
427 $ cat .hgsubstate
428 $ cat .hgsubstate
428 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
429 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
429 $ cat t/t
430 $ cat t/t
430 t2
431 t2
431
432
432 local changed, remote removed, keep removed
433 local changed, remote removed, keep removed
433
434
434 $ hg co -C 6
435 $ hg co -C 6
435 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
436 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
436 $ hg merge --config ui.interactive=true 11 <<EOF
437 $ hg merge --config ui.interactive=true 11 <<EOF
437 > d
438 > d
438 > EOF
439 > EOF
439 local [working copy] changed subrepository t which remote [merge rev] removed
440 local [working copy] changed subrepository t which remote [merge rev] removed
440 use (c)hanged version or (d)elete? d
441 use (c)hanged version or (d)elete? d
441 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
442 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
442 (branch merge, don't forget to commit)
443 (branch merge, don't forget to commit)
443 $ hg debugsub
444 $ hg debugsub
444 path s
445 path s
445 source s
446 source s
446 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
447 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
447 $ cat .hgsubstate
448 $ cat .hgsubstate
448 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
449 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
449 $ hg ci -m 'local changed, remote removed, keep removed'
450 $ hg ci -m 'local changed, remote removed, keep removed'
450 created new head
451 created new head
451 $ hg debugsub
452 $ hg debugsub
452 path s
453 path s
453 source s
454 source s
454 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
455 revision e4ece1bf43360ddc8f6a96432201a37b7cd27ae4
455 $ cat .hgsubstate
456 $ cat .hgsubstate
456 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
457 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
457
458
458 clean up to avoid having to fix up the tests below
459 clean up to avoid having to fix up the tests below
459
460
460 $ hg co -C 10
461 $ hg co -C 10
461 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
462 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
462 $ cat >> $HGRCPATH <<EOF
463 $ cat >> $HGRCPATH <<EOF
463 > [extensions]
464 > [extensions]
464 > strip=
465 > strip=
465 > EOF
466 > EOF
466 $ hg strip -r 11:15
467 $ hg strip -r 11:15
467 saved backup bundle to $TESTTMP/t/.hg/strip-backup/*-backup.hg (glob)
468 saved backup bundle to $TESTTMP/t/.hg/strip-backup/*-backup.hg (glob)
468
469
469 clone
470 clone
470
471
471 $ cd ..
472 $ cd ..
472 $ hg clone t tc
473 $ hg clone t tc
473 updating to branch default
474 updating to branch default
474 cloning subrepo s from $TESTTMP/t/s
475 cloning subrepo s from $TESTTMP/t/s
475 cloning subrepo s/ss from $TESTTMP/t/s/ss (glob)
476 cloning subrepo s/ss from $TESTTMP/t/s/ss (glob)
476 cloning subrepo t from $TESTTMP/t/t
477 cloning subrepo t from $TESTTMP/t/t
477 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
478 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
478 $ cd tc
479 $ cd tc
479 $ hg debugsub
480 $ hg debugsub
480 path s
481 path s
481 source s
482 source s
482 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
483 revision fc627a69481fcbe5f1135069e8a3881c023e4cf5
483 path t
484 path t
484 source t
485 source t
485 revision 20a0db6fbf6c3d2836e6519a642ae929bfc67c0e
486 revision 20a0db6fbf6c3d2836e6519a642ae929bfc67c0e
486
487
487 push
488 push
488
489
489 $ echo bah > t/t
490 $ echo bah > t/t
490 $ hg ci -m11
491 $ hg ci -m11
491 committing subrepository t
492 committing subrepository t
492 $ hg push
493 $ hg push
493 pushing to $TESTTMP/t (glob)
494 pushing to $TESTTMP/t (glob)
494 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
495 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
495 no changes made to subrepo s since last push to $TESTTMP/t/s
496 no changes made to subrepo s since last push to $TESTTMP/t/s
496 pushing subrepo t to $TESTTMP/t/t
497 pushing subrepo t to $TESTTMP/t/t
497 searching for changes
498 searching for changes
498 adding changesets
499 adding changesets
499 adding manifests
500 adding manifests
500 adding file changes
501 adding file changes
501 added 1 changesets with 1 changes to 1 files
502 added 1 changesets with 1 changes to 1 files
502 searching for changes
503 searching for changes
503 adding changesets
504 adding changesets
504 adding manifests
505 adding manifests
505 adding file changes
506 adding file changes
506 added 1 changesets with 1 changes to 1 files
507 added 1 changesets with 1 changes to 1 files
507
508
508 push -f
509 push -f
509
510
510 $ echo bah > s/a
511 $ echo bah > s/a
511 $ hg ci -m12
512 $ hg ci -m12
512 committing subrepository s
513 committing subrepository s
513 $ hg push
514 $ hg push
514 pushing to $TESTTMP/t (glob)
515 pushing to $TESTTMP/t (glob)
515 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
516 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
516 pushing subrepo s to $TESTTMP/t/s
517 pushing subrepo s to $TESTTMP/t/s
517 searching for changes
518 searching for changes
518 abort: push creates new remote head 12a213df6fa9! (in subrepo s)
519 abort: push creates new remote head 12a213df6fa9! (in subrepo s)
519 (merge or see 'hg help push' for details about pushing new heads)
520 (merge or see 'hg help push' for details about pushing new heads)
520 [255]
521 [255]
521 $ hg push -f
522 $ hg push -f
522 pushing to $TESTTMP/t (glob)
523 pushing to $TESTTMP/t (glob)
523 pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
524 pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
524 searching for changes
525 searching for changes
525 no changes found
526 no changes found
526 pushing subrepo s to $TESTTMP/t/s
527 pushing subrepo s to $TESTTMP/t/s
527 searching for changes
528 searching for changes
528 adding changesets
529 adding changesets
529 adding manifests
530 adding manifests
530 adding file changes
531 adding file changes
531 added 1 changesets with 1 changes to 1 files (+1 heads)
532 added 1 changesets with 1 changes to 1 files (+1 heads)
532 pushing subrepo t to $TESTTMP/t/t
533 pushing subrepo t to $TESTTMP/t/t
533 searching for changes
534 searching for changes
534 no changes found
535 no changes found
535 searching for changes
536 searching for changes
536 adding changesets
537 adding changesets
537 adding manifests
538 adding manifests
538 adding file changes
539 adding file changes
539 added 1 changesets with 1 changes to 1 files
540 added 1 changesets with 1 changes to 1 files
540
541
541 check that unmodified subrepos are not pushed
542 check that unmodified subrepos are not pushed
542
543
543 $ hg clone . ../tcc
544 $ hg clone . ../tcc
544 updating to branch default
545 updating to branch default
545 cloning subrepo s from $TESTTMP/tc/s
546 cloning subrepo s from $TESTTMP/tc/s
546 cloning subrepo s/ss from $TESTTMP/tc/s/ss (glob)
547 cloning subrepo s/ss from $TESTTMP/tc/s/ss (glob)
547 cloning subrepo t from $TESTTMP/tc/t
548 cloning subrepo t from $TESTTMP/tc/t
548 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
549 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
549
550
550 the subrepos on the new clone have nothing to push to its source
551 the subrepos on the new clone have nothing to push to its source
551
552
552 $ hg push -R ../tcc .
553 $ hg push -R ../tcc .
553 pushing to .
554 pushing to .
554 no changes made to subrepo s/ss since last push to s/ss (glob)
555 no changes made to subrepo s/ss since last push to s/ss (glob)
555 no changes made to subrepo s since last push to s
556 no changes made to subrepo s since last push to s
556 no changes made to subrepo t since last push to t
557 no changes made to subrepo t since last push to t
557 searching for changes
558 searching for changes
558 no changes found
559 no changes found
559 [1]
560 [1]
560
561
561 the subrepos on the source do not have a clean store versus the clone target
562 the subrepos on the source do not have a clean store versus the clone target
562 because they were never explicitly pushed to the source
563 because they were never explicitly pushed to the source
563
564
564 $ hg push ../tcc
565 $ hg push ../tcc
565 pushing to ../tcc
566 pushing to ../tcc
566 pushing subrepo s/ss to ../tcc/s/ss (glob)
567 pushing subrepo s/ss to ../tcc/s/ss (glob)
567 searching for changes
568 searching for changes
568 no changes found
569 no changes found
569 pushing subrepo s to ../tcc/s
570 pushing subrepo s to ../tcc/s
570 searching for changes
571 searching for changes
571 no changes found
572 no changes found
572 pushing subrepo t to ../tcc/t
573 pushing subrepo t to ../tcc/t
573 searching for changes
574 searching for changes
574 no changes found
575 no changes found
575 searching for changes
576 searching for changes
576 no changes found
577 no changes found
577 [1]
578 [1]
578
579
579 after push their stores become clean
580 after push their stores become clean
580
581
581 $ hg push ../tcc
582 $ hg push ../tcc
582 pushing to ../tcc
583 pushing to ../tcc
583 no changes made to subrepo s/ss since last push to ../tcc/s/ss (glob)
584 no changes made to subrepo s/ss since last push to ../tcc/s/ss (glob)
584 no changes made to subrepo s since last push to ../tcc/s
585 no changes made to subrepo s since last push to ../tcc/s
585 no changes made to subrepo t since last push to ../tcc/t
586 no changes made to subrepo t since last push to ../tcc/t
586 searching for changes
587 searching for changes
587 no changes found
588 no changes found
588 [1]
589 [1]
589
590
590 updating a subrepo to a different revision or changing
591 updating a subrepo to a different revision or changing
591 its working directory does not make its store dirty
592 its working directory does not make its store dirty
592
593
593 $ hg -R s update '.^'
594 $ hg -R s update '.^'
594 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
595 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
595 $ hg push
596 $ hg push
596 pushing to $TESTTMP/t (glob)
597 pushing to $TESTTMP/t (glob)
597 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
598 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
598 no changes made to subrepo s since last push to $TESTTMP/t/s
599 no changes made to subrepo s since last push to $TESTTMP/t/s
599 no changes made to subrepo t since last push to $TESTTMP/t/t
600 no changes made to subrepo t since last push to $TESTTMP/t/t
600 searching for changes
601 searching for changes
601 no changes found
602 no changes found
602 [1]
603 [1]
603 $ echo foo >> s/a
604 $ echo foo >> s/a
604 $ hg push
605 $ hg push
605 pushing to $TESTTMP/t (glob)
606 pushing to $TESTTMP/t (glob)
606 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
607 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
607 no changes made to subrepo s since last push to $TESTTMP/t/s
608 no changes made to subrepo s since last push to $TESTTMP/t/s
608 no changes made to subrepo t since last push to $TESTTMP/t/t
609 no changes made to subrepo t since last push to $TESTTMP/t/t
609 searching for changes
610 searching for changes
610 no changes found
611 no changes found
611 [1]
612 [1]
612 $ hg -R s update -C tip
613 $ hg -R s update -C tip
613 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
614 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
614
615
615 committing into a subrepo makes its store (but not its parent's store) dirty
616 committing into a subrepo makes its store (but not its parent's store) dirty
616
617
617 $ echo foo >> s/ss/a
618 $ echo foo >> s/ss/a
618 $ hg -R s/ss commit -m 'test dirty store detection'
619 $ hg -R s/ss commit -m 'test dirty store detection'
619
620
620 $ hg out -S -r `hg log -r tip -T "{node|short}"`
621 $ hg out -S -r `hg log -r tip -T "{node|short}"`
621 comparing with $TESTTMP/t (glob)
622 comparing with $TESTTMP/t (glob)
622 searching for changes
623 searching for changes
623 no changes found
624 no changes found
624 comparing with $TESTTMP/t/s
625 comparing with $TESTTMP/t/s
625 searching for changes
626 searching for changes
626 no changes found
627 no changes found
627 comparing with $TESTTMP/t/s/ss
628 comparing with $TESTTMP/t/s/ss
628 searching for changes
629 searching for changes
629 changeset: 1:79ea5566a333
630 changeset: 1:79ea5566a333
630 tag: tip
631 tag: tip
631 user: test
632 user: test
632 date: Thu Jan 01 00:00:00 1970 +0000
633 date: Thu Jan 01 00:00:00 1970 +0000
633 summary: test dirty store detection
634 summary: test dirty store detection
634
635
635 comparing with $TESTTMP/t/t
636 comparing with $TESTTMP/t/t
636 searching for changes
637 searching for changes
637 no changes found
638 no changes found
638
639
639 $ hg push
640 $ hg push
640 pushing to $TESTTMP/t (glob)
641 pushing to $TESTTMP/t (glob)
641 pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
642 pushing subrepo s/ss to $TESTTMP/t/s/ss (glob)
642 searching for changes
643 searching for changes
643 adding changesets
644 adding changesets
644 adding manifests
645 adding manifests
645 adding file changes
646 adding file changes
646 added 1 changesets with 1 changes to 1 files
647 added 1 changesets with 1 changes to 1 files
647 no changes made to subrepo s since last push to $TESTTMP/t/s
648 no changes made to subrepo s since last push to $TESTTMP/t/s
648 no changes made to subrepo t since last push to $TESTTMP/t/t
649 no changes made to subrepo t since last push to $TESTTMP/t/t
649 searching for changes
650 searching for changes
650 no changes found
651 no changes found
651 [1]
652 [1]
652
653
653 a subrepo store may be clean versus one repo but not versus another
654 a subrepo store may be clean versus one repo but not versus another
654
655
655 $ hg push
656 $ hg push
656 pushing to $TESTTMP/t (glob)
657 pushing to $TESTTMP/t (glob)
657 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
658 no changes made to subrepo s/ss since last push to $TESTTMP/t/s/ss (glob)
658 no changes made to subrepo s since last push to $TESTTMP/t/s
659 no changes made to subrepo s since last push to $TESTTMP/t/s
659 no changes made to subrepo t since last push to $TESTTMP/t/t
660 no changes made to subrepo t since last push to $TESTTMP/t/t
660 searching for changes
661 searching for changes
661 no changes found
662 no changes found
662 [1]
663 [1]
663 $ hg push ../tcc
664 $ hg push ../tcc
664 pushing to ../tcc
665 pushing to ../tcc
665 pushing subrepo s/ss to ../tcc/s/ss (glob)
666 pushing subrepo s/ss to ../tcc/s/ss (glob)
666 searching for changes
667 searching for changes
667 adding changesets
668 adding changesets
668 adding manifests
669 adding manifests
669 adding file changes
670 adding file changes
670 added 1 changesets with 1 changes to 1 files
671 added 1 changesets with 1 changes to 1 files
671 no changes made to subrepo s since last push to ../tcc/s
672 no changes made to subrepo s since last push to ../tcc/s
672 no changes made to subrepo t since last push to ../tcc/t
673 no changes made to subrepo t since last push to ../tcc/t
673 searching for changes
674 searching for changes
674 no changes found
675 no changes found
675 [1]
676 [1]
676
677
677 update
678 update
678
679
679 $ cd ../t
680 $ cd ../t
680 $ hg up -C # discard our earlier merge
681 $ hg up -C # discard our earlier merge
681 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
682 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
682 2 other heads for branch "default"
683 2 other heads for branch "default"
683 $ echo blah > t/t
684 $ echo blah > t/t
684 $ hg ci -m13
685 $ hg ci -m13
685 committing subrepository t
686 committing subrepository t
686
687
687 backout calls revert internally with minimal opts, which should not raise
688 backout calls revert internally with minimal opts, which should not raise
688 KeyError
689 KeyError
689
690
690 $ hg backout ".^" --no-commit
691 $ hg backout ".^" --no-commit
691 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
692 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
692 changeset c373c8102e68 backed out, don't forget to commit.
693 changeset c373c8102e68 backed out, don't forget to commit.
693
694
694 $ hg up -C # discard changes
695 $ hg up -C # discard changes
695 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
696 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
696 2 other heads for branch "default"
697 2 other heads for branch "default"
697
698
698 pull
699 pull
699
700
700 $ cd ../tc
701 $ cd ../tc
701 $ hg pull
702 $ hg pull
702 pulling from $TESTTMP/t (glob)
703 pulling from $TESTTMP/t (glob)
703 searching for changes
704 searching for changes
704 adding changesets
705 adding changesets
705 adding manifests
706 adding manifests
706 adding file changes
707 adding file changes
707 added 1 changesets with 1 changes to 1 files
708 added 1 changesets with 1 changes to 1 files
708 (run 'hg update' to get a working copy)
709 (run 'hg update' to get a working copy)
709
710
710 should pull t
711 should pull t
711
712
712 $ hg incoming -S -r `hg log -r tip -T "{node|short}"`
713 $ hg incoming -S -r `hg log -r tip -T "{node|short}"`
713 comparing with $TESTTMP/t (glob)
714 comparing with $TESTTMP/t (glob)
714 no changes found
715 no changes found
715 comparing with $TESTTMP/t/s
716 comparing with $TESTTMP/t/s
716 searching for changes
717 searching for changes
717 no changes found
718 no changes found
718 comparing with $TESTTMP/t/s/ss
719 comparing with $TESTTMP/t/s/ss
719 searching for changes
720 searching for changes
720 no changes found
721 no changes found
721 comparing with $TESTTMP/t/t
722 comparing with $TESTTMP/t/t
722 searching for changes
723 searching for changes
723 changeset: 5:52c0adc0515a
724 changeset: 5:52c0adc0515a
724 tag: tip
725 tag: tip
725 user: test
726 user: test
726 date: Thu Jan 01 00:00:00 1970 +0000
727 date: Thu Jan 01 00:00:00 1970 +0000
727 summary: 13
728 summary: 13
728
729
729
730
730 $ hg up
731 $ hg up
731 pulling subrepo t from $TESTTMP/t/t
732 pulling subrepo t from $TESTTMP/t/t
732 searching for changes
733 searching for changes
733 adding changesets
734 adding changesets
734 adding manifests
735 adding manifests
735 adding file changes
736 adding file changes
736 added 1 changesets with 1 changes to 1 files
737 added 1 changesets with 1 changes to 1 files
737 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
738 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
738 2 other heads for branch "default"
739 2 other heads for branch "default"
739 $ cat t/t
740 $ cat t/t
740 blah
741 blah
741
742
742 bogus subrepo path aborts
743 bogus subrepo path aborts
743
744
744 $ echo 'bogus=[boguspath' >> .hgsub
745 $ echo 'bogus=[boguspath' >> .hgsub
745 $ hg ci -m 'bogus subrepo path'
746 $ hg ci -m 'bogus subrepo path'
746 abort: missing ] in subrepo source
747 abort: missing ] in subrepo source
747 [255]
748 [255]
748
749
749 Issue1986: merge aborts when trying to merge a subrepo that
750 Issue1986: merge aborts when trying to merge a subrepo that
750 shouldn't need merging
751 shouldn't need merging
751
752
752 # subrepo layout
753 # subrepo layout
753 #
754 #
754 # o 5 br
755 # o 5 br
755 # /|
756 # /|
756 # o | 4 default
757 # o | 4 default
757 # | |
758 # | |
758 # | o 3 br
759 # | o 3 br
759 # |/|
760 # |/|
760 # o | 2 default
761 # o | 2 default
761 # | |
762 # | |
762 # | o 1 br
763 # | o 1 br
763 # |/
764 # |/
764 # o 0 default
765 # o 0 default
765
766
766 $ cd ..
767 $ cd ..
767 $ rm -rf sub
768 $ rm -rf sub
768 $ hg init main
769 $ hg init main
769 $ cd main
770 $ cd main
770 $ hg init s
771 $ hg init s
771 $ cd s
772 $ cd s
772 $ echo a > a
773 $ echo a > a
773 $ hg ci -Am1
774 $ hg ci -Am1
774 adding a
775 adding a
775 $ hg branch br
776 $ hg branch br
776 marked working directory as branch br
777 marked working directory as branch br
777 (branches are permanent and global, did you want a bookmark?)
778 (branches are permanent and global, did you want a bookmark?)
778 $ echo a >> a
779 $ echo a >> a
779 $ hg ci -m1
780 $ hg ci -m1
780 $ hg up default
781 $ hg up default
781 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
782 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
782 $ echo b > b
783 $ echo b > b
783 $ hg ci -Am1
784 $ hg ci -Am1
784 adding b
785 adding b
785 $ hg up br
786 $ hg up br
786 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
787 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
787 $ hg merge tip
788 $ hg merge tip
788 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
789 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
789 (branch merge, don't forget to commit)
790 (branch merge, don't forget to commit)
790 $ hg ci -m1
791 $ hg ci -m1
791 $ hg up 2
792 $ hg up 2
792 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
793 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
793 $ echo c > c
794 $ echo c > c
794 $ hg ci -Am1
795 $ hg ci -Am1
795 adding c
796 adding c
796 $ hg up 3
797 $ hg up 3
797 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
798 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
798 $ hg merge 4
799 $ hg merge 4
799 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
800 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
800 (branch merge, don't forget to commit)
801 (branch merge, don't forget to commit)
801 $ hg ci -m1
802 $ hg ci -m1
802
803
803 # main repo layout:
804 # main repo layout:
804 #
805 #
805 # * <-- try to merge default into br again
806 # * <-- try to merge default into br again
806 # .`|
807 # .`|
807 # . o 5 br --> substate = 5
808 # . o 5 br --> substate = 5
808 # . |
809 # . |
809 # o | 4 default --> substate = 4
810 # o | 4 default --> substate = 4
810 # | |
811 # | |
811 # | o 3 br --> substate = 2
812 # | o 3 br --> substate = 2
812 # |/|
813 # |/|
813 # o | 2 default --> substate = 2
814 # o | 2 default --> substate = 2
814 # | |
815 # | |
815 # | o 1 br --> substate = 3
816 # | o 1 br --> substate = 3
816 # |/
817 # |/
817 # o 0 default --> substate = 2
818 # o 0 default --> substate = 2
818
819
819 $ cd ..
820 $ cd ..
820 $ echo 's = s' > .hgsub
821 $ echo 's = s' > .hgsub
821 $ hg -R s up 2
822 $ hg -R s up 2
822 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
823 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
823 $ hg ci -Am1
824 $ hg ci -Am1
824 adding .hgsub
825 adding .hgsub
825 $ hg branch br
826 $ hg branch br
826 marked working directory as branch br
827 marked working directory as branch br
827 (branches are permanent and global, did you want a bookmark?)
828 (branches are permanent and global, did you want a bookmark?)
828 $ echo b > b
829 $ echo b > b
829 $ hg -R s up 3
830 $ hg -R s up 3
830 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
831 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
831 $ hg ci -Am1
832 $ hg ci -Am1
832 adding b
833 adding b
833 $ hg up default
834 $ hg up default
834 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
835 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
835 $ echo c > c
836 $ echo c > c
836 $ hg ci -Am1
837 $ hg ci -Am1
837 adding c
838 adding c
838 $ hg up 1
839 $ hg up 1
839 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
840 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
840 $ hg merge 2
841 $ hg merge 2
841 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
842 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
842 (branch merge, don't forget to commit)
843 (branch merge, don't forget to commit)
843 $ hg ci -m1
844 $ hg ci -m1
844 $ hg up 2
845 $ hg up 2
845 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
846 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
846 $ hg -R s up 4
847 $ hg -R s up 4
847 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
848 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
848 $ echo d > d
849 $ echo d > d
849 $ hg ci -Am1
850 $ hg ci -Am1
850 adding d
851 adding d
851 $ hg up 3
852 $ hg up 3
852 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
853 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
853 $ hg -R s up 5
854 $ hg -R s up 5
854 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
855 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
855 $ echo e > e
856 $ echo e > e
856 $ hg ci -Am1
857 $ hg ci -Am1
857 adding e
858 adding e
858
859
859 $ hg up 5
860 $ hg up 5
860 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
861 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
861 $ hg merge 4 # try to merge default into br again
862 $ hg merge 4 # try to merge default into br again
862 subrepository s diverged (local revision: f8f13b33206e, remote revision: a3f9062a4f88)
863 subrepository s diverged (local revision: f8f13b33206e, remote revision: a3f9062a4f88)
863 (M)erge, keep (l)ocal [working copy] or keep (r)emote [merge rev]? m
864 (M)erge, keep (l)ocal [working copy] or keep (r)emote [merge rev]? m
864 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
865 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
865 (branch merge, don't forget to commit)
866 (branch merge, don't forget to commit)
866 $ cd ..
867 $ cd ..
867
868
868 test subrepo delete from .hgsubstate
869 test subrepo delete from .hgsubstate
869
870
870 $ hg init testdelete
871 $ hg init testdelete
871 $ mkdir testdelete/nested testdelete/nested2
872 $ mkdir testdelete/nested testdelete/nested2
872 $ hg init testdelete/nested
873 $ hg init testdelete/nested
873 $ hg init testdelete/nested2
874 $ hg init testdelete/nested2
874 $ echo test > testdelete/nested/foo
875 $ echo test > testdelete/nested/foo
875 $ echo test > testdelete/nested2/foo
876 $ echo test > testdelete/nested2/foo
876 $ hg -R testdelete/nested add
877 $ hg -R testdelete/nested add
877 adding testdelete/nested/foo (glob)
878 adding testdelete/nested/foo (glob)
878 $ hg -R testdelete/nested2 add
879 $ hg -R testdelete/nested2 add
879 adding testdelete/nested2/foo (glob)
880 adding testdelete/nested2/foo (glob)
880 $ hg -R testdelete/nested ci -m test
881 $ hg -R testdelete/nested ci -m test
881 $ hg -R testdelete/nested2 ci -m test
882 $ hg -R testdelete/nested2 ci -m test
882 $ echo nested = nested > testdelete/.hgsub
883 $ echo nested = nested > testdelete/.hgsub
883 $ echo nested2 = nested2 >> testdelete/.hgsub
884 $ echo nested2 = nested2 >> testdelete/.hgsub
884 $ hg -R testdelete add
885 $ hg -R testdelete add
885 adding testdelete/.hgsub (glob)
886 adding testdelete/.hgsub (glob)
886 $ hg -R testdelete ci -m "nested 1 & 2 added"
887 $ hg -R testdelete ci -m "nested 1 & 2 added"
887 $ echo nested = nested > testdelete/.hgsub
888 $ echo nested = nested > testdelete/.hgsub
888 $ hg -R testdelete ci -m "nested 2 deleted"
889 $ hg -R testdelete ci -m "nested 2 deleted"
889 $ cat testdelete/.hgsubstate
890 $ cat testdelete/.hgsubstate
890 bdf5c9a3103743d900b12ae0db3ffdcfd7b0d878 nested
891 bdf5c9a3103743d900b12ae0db3ffdcfd7b0d878 nested
891 $ hg -R testdelete remove testdelete/.hgsub
892 $ hg -R testdelete remove testdelete/.hgsub
892 $ hg -R testdelete ci -m ".hgsub deleted"
893 $ hg -R testdelete ci -m ".hgsub deleted"
893 $ cat testdelete/.hgsubstate
894 $ cat testdelete/.hgsubstate
894 bdf5c9a3103743d900b12ae0db3ffdcfd7b0d878 nested
895 bdf5c9a3103743d900b12ae0db3ffdcfd7b0d878 nested
895
896
896 test repository cloning
897 test repository cloning
897
898
898 $ mkdir mercurial mercurial2
899 $ mkdir mercurial mercurial2
899 $ hg init nested_absolute
900 $ hg init nested_absolute
900 $ echo test > nested_absolute/foo
901 $ echo test > nested_absolute/foo
901 $ hg -R nested_absolute add
902 $ hg -R nested_absolute add
902 adding nested_absolute/foo (glob)
903 adding nested_absolute/foo (glob)
903 $ hg -R nested_absolute ci -mtest
904 $ hg -R nested_absolute ci -mtest
904 $ cd mercurial
905 $ cd mercurial
905 $ hg init nested_relative
906 $ hg init nested_relative
906 $ echo test2 > nested_relative/foo2
907 $ echo test2 > nested_relative/foo2
907 $ hg -R nested_relative add
908 $ hg -R nested_relative add
908 adding nested_relative/foo2 (glob)
909 adding nested_relative/foo2 (glob)
909 $ hg -R nested_relative ci -mtest2
910 $ hg -R nested_relative ci -mtest2
910 $ hg init main
911 $ hg init main
911 $ echo "nested_relative = ../nested_relative" > main/.hgsub
912 $ echo "nested_relative = ../nested_relative" > main/.hgsub
912 $ echo "nested_absolute = `pwd`/nested_absolute" >> main/.hgsub
913 $ echo "nested_absolute = `pwd`/nested_absolute" >> main/.hgsub
913 $ hg -R main add
914 $ hg -R main add
914 adding main/.hgsub (glob)
915 adding main/.hgsub (glob)
915 $ hg -R main ci -m "add subrepos"
916 $ hg -R main ci -m "add subrepos"
916 $ cd ..
917 $ cd ..
917 $ hg clone mercurial/main mercurial2/main
918 $ hg clone mercurial/main mercurial2/main
918 updating to branch default
919 updating to branch default
919 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
920 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
920 $ cat mercurial2/main/nested_absolute/.hg/hgrc \
921 $ cat mercurial2/main/nested_absolute/.hg/hgrc \
921 > mercurial2/main/nested_relative/.hg/hgrc
922 > mercurial2/main/nested_relative/.hg/hgrc
922 [paths]
923 [paths]
923 default = $TESTTMP/mercurial/nested_absolute
924 default = $TESTTMP/mercurial/nested_absolute
924 [paths]
925 [paths]
925 default = $TESTTMP/mercurial/nested_relative
926 default = $TESTTMP/mercurial/nested_relative
926 $ rm -rf mercurial mercurial2
927 $ rm -rf mercurial mercurial2
927
928
928 Issue1977: multirepo push should fail if subrepo push fails
929 Issue1977: multirepo push should fail if subrepo push fails
929
930
930 $ hg init repo
931 $ hg init repo
931 $ hg init repo/s
932 $ hg init repo/s
932 $ echo a > repo/s/a
933 $ echo a > repo/s/a
933 $ hg -R repo/s ci -Am0
934 $ hg -R repo/s ci -Am0
934 adding a
935 adding a
935 $ echo s = s > repo/.hgsub
936 $ echo s = s > repo/.hgsub
936 $ hg -R repo ci -Am1
937 $ hg -R repo ci -Am1
937 adding .hgsub
938 adding .hgsub
938 $ hg clone repo repo2
939 $ hg clone repo repo2
939 updating to branch default
940 updating to branch default
940 cloning subrepo s from $TESTTMP/repo/s
941 cloning subrepo s from $TESTTMP/repo/s
941 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
942 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
942 $ hg -q -R repo2 pull -u
943 $ hg -q -R repo2 pull -u
943 $ echo 1 > repo2/s/a
944 $ echo 1 > repo2/s/a
944 $ hg -R repo2/s ci -m2
945 $ hg -R repo2/s ci -m2
945 $ hg -q -R repo2/s push
946 $ hg -q -R repo2/s push
946 $ hg -R repo2/s up -C 0
947 $ hg -R repo2/s up -C 0
947 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
948 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
948 $ echo 2 > repo2/s/b
949 $ echo 2 > repo2/s/b
949 $ hg -R repo2/s ci -m3 -A
950 $ hg -R repo2/s ci -m3 -A
950 adding b
951 adding b
951 created new head
952 created new head
952 $ hg -R repo2 ci -m3
953 $ hg -R repo2 ci -m3
953 $ hg -q -R repo2 push
954 $ hg -q -R repo2 push
954 abort: push creates new remote head cc505f09a8b2! (in subrepo s)
955 abort: push creates new remote head cc505f09a8b2! (in subrepo s)
955 (merge or see 'hg help push' for details about pushing new heads)
956 (merge or see 'hg help push' for details about pushing new heads)
956 [255]
957 [255]
957 $ hg -R repo update
958 $ hg -R repo update
958 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
959 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
959
960
960 test if untracked file is not overwritten
961 test if untracked file is not overwritten
961
962
962 (this also tests that updated .hgsubstate is treated as "modified",
963 (this also tests that updated .hgsubstate is treated as "modified",
963 when 'merge.update()' is aborted before 'merge.recordupdates()', even
964 when 'merge.update()' is aborted before 'merge.recordupdates()', even
964 if none of mode, size and timestamp of it isn't changed on the
965 if none of mode, size and timestamp of it isn't changed on the
965 filesystem (see also issue4583))
966 filesystem (see also issue4583))
966
967
967 $ echo issue3276_ok > repo/s/b
968 $ echo issue3276_ok > repo/s/b
968 $ hg -R repo2 push -f -q
969 $ hg -R repo2 push -f -q
969 $ touch -t 200001010000 repo/.hgsubstate
970 $ touch -t 200001010000 repo/.hgsubstate
970
971
971 $ cat >> repo/.hg/hgrc <<EOF
972 $ cat >> repo/.hg/hgrc <<EOF
972 > [fakedirstatewritetime]
973 > [fakedirstatewritetime]
973 > # emulate invoking dirstate.write() via repo.status()
974 > # emulate invoking dirstate.write() via repo.status()
974 > # at 2000-01-01 00:00
975 > # at 2000-01-01 00:00
975 > fakenow = 200001010000
976 > fakenow = 200001010000
976 >
977 >
977 > [extensions]
978 > [extensions]
978 > fakedirstatewritetime = $TESTDIR/fakedirstatewritetime.py
979 > fakedirstatewritetime = $TESTDIR/fakedirstatewritetime.py
979 > EOF
980 > EOF
980 $ hg -R repo update
981 $ hg -R repo update
981 b: untracked file differs
982 b: untracked file differs
982 abort: untracked files in working directory differ from files in requested revision (in subrepo s)
983 abort: untracked files in working directory differ from files in requested revision (in subrepo s)
983 [255]
984 [255]
984 $ cat >> repo/.hg/hgrc <<EOF
985 $ cat >> repo/.hg/hgrc <<EOF
985 > [extensions]
986 > [extensions]
986 > fakedirstatewritetime = !
987 > fakedirstatewritetime = !
987 > EOF
988 > EOF
988
989
989 $ cat repo/s/b
990 $ cat repo/s/b
990 issue3276_ok
991 issue3276_ok
991 $ rm repo/s/b
992 $ rm repo/s/b
992 $ touch -t 200001010000 repo/.hgsubstate
993 $ touch -t 200001010000 repo/.hgsubstate
993 $ hg -R repo revert --all
994 $ hg -R repo revert --all
994 reverting repo/.hgsubstate (glob)
995 reverting repo/.hgsubstate (glob)
995 reverting subrepo s
996 reverting subrepo s
996 $ hg -R repo update
997 $ hg -R repo update
997 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
998 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
998 $ cat repo/s/b
999 $ cat repo/s/b
999 2
1000 2
1000 $ rm -rf repo2 repo
1001 $ rm -rf repo2 repo
1001
1002
1002
1003
1003 Issue1852 subrepos with relative paths always push/pull relative to default
1004 Issue1852 subrepos with relative paths always push/pull relative to default
1004
1005
1005 Prepare a repo with subrepo
1006 Prepare a repo with subrepo
1006
1007
1007 $ hg init issue1852a
1008 $ hg init issue1852a
1008 $ cd issue1852a
1009 $ cd issue1852a
1009 $ hg init sub/repo
1010 $ hg init sub/repo
1010 $ echo test > sub/repo/foo
1011 $ echo test > sub/repo/foo
1011 $ hg -R sub/repo add sub/repo/foo
1012 $ hg -R sub/repo add sub/repo/foo
1012 $ echo sub/repo = sub/repo > .hgsub
1013 $ echo sub/repo = sub/repo > .hgsub
1013 $ hg add .hgsub
1014 $ hg add .hgsub
1014 $ hg ci -mtest
1015 $ hg ci -mtest
1015 committing subrepository sub/repo (glob)
1016 committing subrepository sub/repo (glob)
1016 $ echo test >> sub/repo/foo
1017 $ echo test >> sub/repo/foo
1017 $ hg ci -mtest
1018 $ hg ci -mtest
1018 committing subrepository sub/repo (glob)
1019 committing subrepository sub/repo (glob)
1019 $ hg cat sub/repo/foo
1020 $ hg cat sub/repo/foo
1020 test
1021 test
1021 test
1022 test
1022 $ mkdir -p tmp/sub/repo
1023 $ mkdir -p tmp/sub/repo
1023 $ hg cat -r 0 --output tmp/%p_p sub/repo/foo
1024 $ hg cat -r 0 --output tmp/%p_p sub/repo/foo
1024 $ cat tmp/sub/repo/foo_p
1025 $ cat tmp/sub/repo/foo_p
1025 test
1026 test
1026 $ mv sub/repo sub_
1027 $ mv sub/repo sub_
1027 $ hg cat sub/repo/baz
1028 $ hg cat sub/repo/baz
1028 skipping missing subrepository: sub/repo
1029 skipping missing subrepository: sub/repo
1029 [1]
1030 [1]
1030 $ rm -rf sub/repo
1031 $ rm -rf sub/repo
1031 $ mv sub_ sub/repo
1032 $ mv sub_ sub/repo
1032 $ cd ..
1033 $ cd ..
1033
1034
1034 Create repo without default path, pull top repo, and see what happens on update
1035 Create repo without default path, pull top repo, and see what happens on update
1035
1036
1036 $ hg init issue1852b
1037 $ hg init issue1852b
1037 $ hg -R issue1852b pull issue1852a
1038 $ hg -R issue1852b pull issue1852a
1038 pulling from issue1852a
1039 pulling from issue1852a
1039 requesting all changes
1040 requesting all changes
1040 adding changesets
1041 adding changesets
1041 adding manifests
1042 adding manifests
1042 adding file changes
1043 adding file changes
1043 added 2 changesets with 3 changes to 2 files
1044 added 2 changesets with 3 changes to 2 files
1044 (run 'hg update' to get a working copy)
1045 (run 'hg update' to get a working copy)
1045 $ hg -R issue1852b update
1046 $ hg -R issue1852b update
1046 abort: default path for subrepository not found (in subrepo sub/repo) (glob)
1047 abort: default path for subrepository not found (in subrepo sub/repo) (glob)
1047 [255]
1048 [255]
1048
1049
1049 Ensure a full traceback, not just the SubrepoAbort part
1050 Ensure a full traceback, not just the SubrepoAbort part
1050
1051
1051 $ hg -R issue1852b update --traceback 2>&1 | grep 'raise error\.Abort'
1052 $ hg -R issue1852b update --traceback 2>&1 | grep 'raise error\.Abort'
1052 raise error.Abort(_("default path for subrepository not found"))
1053 raise error.Abort(_("default path for subrepository not found"))
1053
1054
1054 Pull -u now doesn't help
1055 Pull -u now doesn't help
1055
1056
1056 $ hg -R issue1852b pull -u issue1852a
1057 $ hg -R issue1852b pull -u issue1852a
1057 pulling from issue1852a
1058 pulling from issue1852a
1058 searching for changes
1059 searching for changes
1059 no changes found
1060 no changes found
1060
1061
1061 Try the same, but with pull -u
1062 Try the same, but with pull -u
1062
1063
1063 $ hg init issue1852c
1064 $ hg init issue1852c
1064 $ hg -R issue1852c pull -r0 -u issue1852a
1065 $ hg -R issue1852c pull -r0 -u issue1852a
1065 pulling from issue1852a
1066 pulling from issue1852a
1066 adding changesets
1067 adding changesets
1067 adding manifests
1068 adding manifests
1068 adding file changes
1069 adding file changes
1069 added 1 changesets with 2 changes to 2 files
1070 added 1 changesets with 2 changes to 2 files
1070 cloning subrepo sub/repo from issue1852a/sub/repo (glob)
1071 cloning subrepo sub/repo from issue1852a/sub/repo (glob)
1071 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1072 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1072
1073
1073 Try to push from the other side
1074 Try to push from the other side
1074
1075
1075 $ hg -R issue1852a push `pwd`/issue1852c
1076 $ hg -R issue1852a push `pwd`/issue1852c
1076 pushing to $TESTTMP/issue1852c (glob)
1077 pushing to $TESTTMP/issue1852c (glob)
1077 pushing subrepo sub/repo to $TESTTMP/issue1852c/sub/repo (glob)
1078 pushing subrepo sub/repo to $TESTTMP/issue1852c/sub/repo (glob)
1078 searching for changes
1079 searching for changes
1079 no changes found
1080 no changes found
1080 searching for changes
1081 searching for changes
1081 adding changesets
1082 adding changesets
1082 adding manifests
1083 adding manifests
1083 adding file changes
1084 adding file changes
1084 added 1 changesets with 1 changes to 1 files
1085 added 1 changesets with 1 changes to 1 files
1085
1086
1086 Incoming and outgoing should not use the default path:
1087 Incoming and outgoing should not use the default path:
1087
1088
1088 $ hg clone -q issue1852a issue1852d
1089 $ hg clone -q issue1852a issue1852d
1089 $ hg -R issue1852d outgoing --subrepos issue1852c
1090 $ hg -R issue1852d outgoing --subrepos issue1852c
1090 comparing with issue1852c
1091 comparing with issue1852c
1091 searching for changes
1092 searching for changes
1092 no changes found
1093 no changes found
1093 comparing with issue1852c/sub/repo
1094 comparing with issue1852c/sub/repo
1094 searching for changes
1095 searching for changes
1095 no changes found
1096 no changes found
1096 [1]
1097 [1]
1097 $ hg -R issue1852d incoming --subrepos issue1852c
1098 $ hg -R issue1852d incoming --subrepos issue1852c
1098 comparing with issue1852c
1099 comparing with issue1852c
1099 searching for changes
1100 searching for changes
1100 no changes found
1101 no changes found
1101 comparing with issue1852c/sub/repo
1102 comparing with issue1852c/sub/repo
1102 searching for changes
1103 searching for changes
1103 no changes found
1104 no changes found
1104 [1]
1105 [1]
1105
1106
1106 Check that merge of a new subrepo doesn't write the uncommitted state to
1107 Check that merge of a new subrepo doesn't write the uncommitted state to
1107 .hgsubstate (issue4622)
1108 .hgsubstate (issue4622)
1108
1109
1109 $ hg init issue1852a/addedsub
1110 $ hg init issue1852a/addedsub
1110 $ echo zzz > issue1852a/addedsub/zz.txt
1111 $ echo zzz > issue1852a/addedsub/zz.txt
1111 $ hg -R issue1852a/addedsub ci -Aqm "initial ZZ"
1112 $ hg -R issue1852a/addedsub ci -Aqm "initial ZZ"
1112
1113
1113 $ hg clone issue1852a/addedsub issue1852d/addedsub
1114 $ hg clone issue1852a/addedsub issue1852d/addedsub
1114 updating to branch default
1115 updating to branch default
1115 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1116 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1116
1117
1117 $ echo def > issue1852a/sub/repo/foo
1118 $ echo def > issue1852a/sub/repo/foo
1118 $ hg -R issue1852a ci -SAm 'tweaked subrepo'
1119 $ hg -R issue1852a ci -SAm 'tweaked subrepo'
1119 adding tmp/sub/repo/foo_p
1120 adding tmp/sub/repo/foo_p
1120 committing subrepository sub/repo (glob)
1121 committing subrepository sub/repo (glob)
1121
1122
1122 $ echo 'addedsub = addedsub' >> issue1852d/.hgsub
1123 $ echo 'addedsub = addedsub' >> issue1852d/.hgsub
1123 $ echo xyz > issue1852d/sub/repo/foo
1124 $ echo xyz > issue1852d/sub/repo/foo
1124 $ hg -R issue1852d pull -u
1125 $ hg -R issue1852d pull -u
1125 pulling from $TESTTMP/issue1852a (glob)
1126 pulling from $TESTTMP/issue1852a (glob)
1126 searching for changes
1127 searching for changes
1127 adding changesets
1128 adding changesets
1128 adding manifests
1129 adding manifests
1129 adding file changes
1130 adding file changes
1130 added 1 changesets with 2 changes to 2 files
1131 added 1 changesets with 2 changes to 2 files
1131 subrepository sub/repo diverged (local revision: f42d5c7504a8, remote revision: 46cd4aac504c)
1132 subrepository sub/repo diverged (local revision: f42d5c7504a8, remote revision: 46cd4aac504c)
1132 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1133 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1133 pulling subrepo sub/repo from $TESTTMP/issue1852a/sub/repo (glob)
1134 pulling subrepo sub/repo from $TESTTMP/issue1852a/sub/repo (glob)
1134 searching for changes
1135 searching for changes
1135 adding changesets
1136 adding changesets
1136 adding manifests
1137 adding manifests
1137 adding file changes
1138 adding file changes
1138 added 1 changesets with 1 changes to 1 files
1139 added 1 changesets with 1 changes to 1 files
1139 subrepository sources for sub/repo differ (glob)
1140 subrepository sources for sub/repo differ (glob)
1140 use (l)ocal source (f42d5c7504a8) or (r)emote source (46cd4aac504c)? l
1141 use (l)ocal source (f42d5c7504a8) or (r)emote source (46cd4aac504c)? l
1141 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1142 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1142 $ cat issue1852d/.hgsubstate
1143 $ cat issue1852d/.hgsubstate
1143 f42d5c7504a811dda50f5cf3e5e16c3330b87172 sub/repo
1144 f42d5c7504a811dda50f5cf3e5e16c3330b87172 sub/repo
1144
1145
1145 Check status of files when none of them belong to the first
1146 Check status of files when none of them belong to the first
1146 subrepository:
1147 subrepository:
1147
1148
1148 $ hg init subrepo-status
1149 $ hg init subrepo-status
1149 $ cd subrepo-status
1150 $ cd subrepo-status
1150 $ hg init subrepo-1
1151 $ hg init subrepo-1
1151 $ hg init subrepo-2
1152 $ hg init subrepo-2
1152 $ cd subrepo-2
1153 $ cd subrepo-2
1153 $ touch file
1154 $ touch file
1154 $ hg add file
1155 $ hg add file
1155 $ cd ..
1156 $ cd ..
1156 $ echo subrepo-1 = subrepo-1 > .hgsub
1157 $ echo subrepo-1 = subrepo-1 > .hgsub
1157 $ echo subrepo-2 = subrepo-2 >> .hgsub
1158 $ echo subrepo-2 = subrepo-2 >> .hgsub
1158 $ hg add .hgsub
1159 $ hg add .hgsub
1159 $ hg ci -m 'Added subrepos'
1160 $ hg ci -m 'Added subrepos'
1160 committing subrepository subrepo-2
1161 committing subrepository subrepo-2
1161 $ hg st subrepo-2/file
1162 $ hg st subrepo-2/file
1162
1163
1163 Check that share works with subrepo
1164 Check that share works with subrepo
1164 $ hg --config extensions.share= share . ../shared
1165 $ hg --config extensions.share= share . ../shared
1165 updating working directory
1166 updating working directory
1166 cloning subrepo subrepo-2 from $TESTTMP/subrepo-status/subrepo-2
1167 cloning subrepo subrepo-2 from $TESTTMP/subrepo-status/subrepo-2
1167 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1168 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1168 $ test -f ../shared/subrepo-1/.hg/sharedpath
1169 $ test -f ../shared/subrepo-1/.hg/sharedpath
1169 [1]
1170 [1]
1170 $ hg -R ../shared in
1171 $ hg -R ../shared in
1171 abort: repository default not found!
1172 abort: repository default not found!
1172 [255]
1173 [255]
1173 $ hg -R ../shared/subrepo-2 showconfig paths
1174 $ hg -R ../shared/subrepo-2 showconfig paths
1174 paths.default=$TESTTMP/subrepo-status/subrepo-2
1175 paths.default=$TESTTMP/subrepo-status/subrepo-2
1175 $ hg -R ../shared/subrepo-1 sum --remote
1176 $ hg -R ../shared/subrepo-1 sum --remote
1176 parent: -1:000000000000 tip (empty repository)
1177 parent: -1:000000000000 tip (empty repository)
1177 branch: default
1178 branch: default
1178 commit: (clean)
1179 commit: (clean)
1179 update: (current)
1180 update: (current)
1180 remote: (synced)
1181 remote: (synced)
1181
1182
1182 Check hg update --clean
1183 Check hg update --clean
1183 $ cd $TESTTMP/t
1184 $ cd $TESTTMP/t
1184 $ rm -r t/t.orig
1185 $ rm -r t/t.orig
1185 $ hg status -S --all
1186 $ hg status -S --all
1186 C .hgsub
1187 C .hgsub
1187 C .hgsubstate
1188 C .hgsubstate
1188 C a
1189 C a
1189 C s/.hgsub
1190 C s/.hgsub
1190 C s/.hgsubstate
1191 C s/.hgsubstate
1191 C s/a
1192 C s/a
1192 C s/ss/a
1193 C s/ss/a
1193 C t/t
1194 C t/t
1194 $ echo c1 > s/a
1195 $ echo c1 > s/a
1195 $ cd s
1196 $ cd s
1196 $ echo c1 > b
1197 $ echo c1 > b
1197 $ echo c1 > c
1198 $ echo c1 > c
1198 $ hg add b
1199 $ hg add b
1199 $ cd ..
1200 $ cd ..
1200 $ hg status -S
1201 $ hg status -S
1201 M s/a
1202 M s/a
1202 A s/b
1203 A s/b
1203 ? s/c
1204 ? s/c
1204 $ hg update -C
1205 $ hg update -C
1205 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1206 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1206 2 other heads for branch "default"
1207 2 other heads for branch "default"
1207 $ hg status -S
1208 $ hg status -S
1208 ? s/b
1209 ? s/b
1209 ? s/c
1210 ? s/c
1210
1211
1211 Sticky subrepositories, no changes
1212 Sticky subrepositories, no changes
1212 $ cd $TESTTMP/t
1213 $ cd $TESTTMP/t
1213 $ hg id
1214 $ hg id
1214 925c17564ef8 tip
1215 925c17564ef8 tip
1215 $ hg -R s id
1216 $ hg -R s id
1216 12a213df6fa9 tip
1217 12a213df6fa9 tip
1217 $ hg -R t id
1218 $ hg -R t id
1218 52c0adc0515a tip
1219 52c0adc0515a tip
1219 $ hg update 11
1220 $ hg update 11
1220 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1221 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1221 $ hg id
1222 $ hg id
1222 365661e5936a
1223 365661e5936a
1223 $ hg -R s id
1224 $ hg -R s id
1224 fc627a69481f
1225 fc627a69481f
1225 $ hg -R t id
1226 $ hg -R t id
1226 e95bcfa18a35
1227 e95bcfa18a35
1227
1228
1228 Sticky subrepositories, file changes
1229 Sticky subrepositories, file changes
1229 $ touch s/f1
1230 $ touch s/f1
1230 $ touch t/f1
1231 $ touch t/f1
1231 $ hg add -S s/f1
1232 $ hg add -S s/f1
1232 $ hg add -S t/f1
1233 $ hg add -S t/f1
1233 $ hg id
1234 $ hg id
1234 365661e5936a+
1235 365661e5936a+
1235 $ hg -R s id
1236 $ hg -R s id
1236 fc627a69481f+
1237 fc627a69481f+
1237 $ hg -R t id
1238 $ hg -R t id
1238 e95bcfa18a35+
1239 e95bcfa18a35+
1239 $ hg update tip
1240 $ hg update tip
1240 subrepository s diverged (local revision: fc627a69481f, remote revision: 12a213df6fa9)
1241 subrepository s diverged (local revision: fc627a69481f, remote revision: 12a213df6fa9)
1241 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1242 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1242 subrepository sources for s differ
1243 subrepository sources for s differ
1243 use (l)ocal source (fc627a69481f) or (r)emote source (12a213df6fa9)? l
1244 use (l)ocal source (fc627a69481f) or (r)emote source (12a213df6fa9)? l
1244 subrepository t diverged (local revision: e95bcfa18a35, remote revision: 52c0adc0515a)
1245 subrepository t diverged (local revision: e95bcfa18a35, remote revision: 52c0adc0515a)
1245 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1246 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1246 subrepository sources for t differ
1247 subrepository sources for t differ
1247 use (l)ocal source (e95bcfa18a35) or (r)emote source (52c0adc0515a)? l
1248 use (l)ocal source (e95bcfa18a35) or (r)emote source (52c0adc0515a)? l
1248 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1249 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1249 $ hg id
1250 $ hg id
1250 925c17564ef8+ tip
1251 925c17564ef8+ tip
1251 $ hg -R s id
1252 $ hg -R s id
1252 fc627a69481f+
1253 fc627a69481f+
1253 $ hg -R t id
1254 $ hg -R t id
1254 e95bcfa18a35+
1255 e95bcfa18a35+
1255 $ hg update --clean tip
1256 $ hg update --clean tip
1256 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1257 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1257
1258
1258 Sticky subrepository, revision updates
1259 Sticky subrepository, revision updates
1259 $ hg id
1260 $ hg id
1260 925c17564ef8 tip
1261 925c17564ef8 tip
1261 $ hg -R s id
1262 $ hg -R s id
1262 12a213df6fa9 tip
1263 12a213df6fa9 tip
1263 $ hg -R t id
1264 $ hg -R t id
1264 52c0adc0515a tip
1265 52c0adc0515a tip
1265 $ cd s
1266 $ cd s
1266 $ hg update -r -2
1267 $ hg update -r -2
1267 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1268 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1268 $ cd ../t
1269 $ cd ../t
1269 $ hg update -r 2
1270 $ hg update -r 2
1270 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1271 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1271 $ cd ..
1272 $ cd ..
1272 $ hg update 10
1273 $ hg update 10
1273 subrepository s diverged (local revision: 12a213df6fa9, remote revision: fc627a69481f)
1274 subrepository s diverged (local revision: 12a213df6fa9, remote revision: fc627a69481f)
1274 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1275 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1275 subrepository t diverged (local revision: 52c0adc0515a, remote revision: 20a0db6fbf6c)
1276 subrepository t diverged (local revision: 52c0adc0515a, remote revision: 20a0db6fbf6c)
1276 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1277 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1277 subrepository sources for t differ (in checked out version)
1278 subrepository sources for t differ (in checked out version)
1278 use (l)ocal source (7af322bc1198) or (r)emote source (20a0db6fbf6c)? l
1279 use (l)ocal source (7af322bc1198) or (r)emote source (20a0db6fbf6c)? l
1279 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1280 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1280 $ hg id
1281 $ hg id
1281 e45c8b14af55+
1282 e45c8b14af55+
1282 $ hg -R s id
1283 $ hg -R s id
1283 02dcf1d70411
1284 02dcf1d70411
1284 $ hg -R t id
1285 $ hg -R t id
1285 7af322bc1198
1286 7af322bc1198
1286
1287
1287 Sticky subrepository, file changes and revision updates
1288 Sticky subrepository, file changes and revision updates
1288 $ touch s/f1
1289 $ touch s/f1
1289 $ touch t/f1
1290 $ touch t/f1
1290 $ hg add -S s/f1
1291 $ hg add -S s/f1
1291 $ hg add -S t/f1
1292 $ hg add -S t/f1
1292 $ hg id
1293 $ hg id
1293 e45c8b14af55+
1294 e45c8b14af55+
1294 $ hg -R s id
1295 $ hg -R s id
1295 02dcf1d70411+
1296 02dcf1d70411+
1296 $ hg -R t id
1297 $ hg -R t id
1297 7af322bc1198+
1298 7af322bc1198+
1298 $ hg update tip
1299 $ hg update tip
1299 subrepository s diverged (local revision: 12a213df6fa9, remote revision: 12a213df6fa9)
1300 subrepository s diverged (local revision: 12a213df6fa9, remote revision: 12a213df6fa9)
1300 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1301 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1301 subrepository sources for s differ
1302 subrepository sources for s differ
1302 use (l)ocal source (02dcf1d70411) or (r)emote source (12a213df6fa9)? l
1303 use (l)ocal source (02dcf1d70411) or (r)emote source (12a213df6fa9)? l
1303 subrepository t diverged (local revision: 52c0adc0515a, remote revision: 52c0adc0515a)
1304 subrepository t diverged (local revision: 52c0adc0515a, remote revision: 52c0adc0515a)
1304 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1305 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1305 subrepository sources for t differ
1306 subrepository sources for t differ
1306 use (l)ocal source (7af322bc1198) or (r)emote source (52c0adc0515a)? l
1307 use (l)ocal source (7af322bc1198) or (r)emote source (52c0adc0515a)? l
1307 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1308 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1308 $ hg id
1309 $ hg id
1309 925c17564ef8+ tip
1310 925c17564ef8+ tip
1310 $ hg -R s id
1311 $ hg -R s id
1311 02dcf1d70411+
1312 02dcf1d70411+
1312 $ hg -R t id
1313 $ hg -R t id
1313 7af322bc1198+
1314 7af322bc1198+
1314
1315
1315 Sticky repository, update --clean
1316 Sticky repository, update --clean
1316 $ hg update --clean tip
1317 $ hg update --clean tip
1317 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1318 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1318 $ hg id
1319 $ hg id
1319 925c17564ef8 tip
1320 925c17564ef8 tip
1320 $ hg -R s id
1321 $ hg -R s id
1321 12a213df6fa9 tip
1322 12a213df6fa9 tip
1322 $ hg -R t id
1323 $ hg -R t id
1323 52c0adc0515a tip
1324 52c0adc0515a tip
1324
1325
1325 Test subrepo already at intended revision:
1326 Test subrepo already at intended revision:
1326 $ cd s
1327 $ cd s
1327 $ hg update fc627a69481f
1328 $ hg update fc627a69481f
1328 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1329 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1329 $ cd ..
1330 $ cd ..
1330 $ hg update 11
1331 $ hg update 11
1331 subrepository s diverged (local revision: 12a213df6fa9, remote revision: fc627a69481f)
1332 subrepository s diverged (local revision: 12a213df6fa9, remote revision: fc627a69481f)
1332 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1333 (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
1333 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1334 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1334 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1335 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1335 $ hg id -n
1336 $ hg id -n
1336 11+
1337 11+
1337 $ hg -R s id
1338 $ hg -R s id
1338 fc627a69481f
1339 fc627a69481f
1339 $ hg -R t id
1340 $ hg -R t id
1340 e95bcfa18a35
1341 e95bcfa18a35
1341
1342
1342 Test that removing .hgsubstate doesn't break anything:
1343 Test that removing .hgsubstate doesn't break anything:
1343
1344
1344 $ hg rm -f .hgsubstate
1345 $ hg rm -f .hgsubstate
1345 $ hg ci -mrm
1346 $ hg ci -mrm
1346 nothing changed
1347 nothing changed
1347 [1]
1348 [1]
1348 $ hg log -vr tip
1349 $ hg log -vr tip
1349 changeset: 13:925c17564ef8
1350 changeset: 13:925c17564ef8
1350 tag: tip
1351 tag: tip
1351 user: test
1352 user: test
1352 date: Thu Jan 01 00:00:00 1970 +0000
1353 date: Thu Jan 01 00:00:00 1970 +0000
1353 files: .hgsubstate
1354 files: .hgsubstate
1354 description:
1355 description:
1355 13
1356 13
1356
1357
1357
1358
1358
1359
1359 Test that removing .hgsub removes .hgsubstate:
1360 Test that removing .hgsub removes .hgsubstate:
1360
1361
1361 $ hg rm .hgsub
1362 $ hg rm .hgsub
1362 $ hg ci -mrm2
1363 $ hg ci -mrm2
1363 created new head
1364 created new head
1364 $ hg log -vr tip
1365 $ hg log -vr tip
1365 changeset: 14:2400bccd50af
1366 changeset: 14:2400bccd50af
1366 tag: tip
1367 tag: tip
1367 parent: 11:365661e5936a
1368 parent: 11:365661e5936a
1368 user: test
1369 user: test
1369 date: Thu Jan 01 00:00:00 1970 +0000
1370 date: Thu Jan 01 00:00:00 1970 +0000
1370 files: .hgsub .hgsubstate
1371 files: .hgsub .hgsubstate
1371 description:
1372 description:
1372 rm2
1373 rm2
1373
1374
1374
1375
1375 Test issue3153: diff -S with deleted subrepos
1376 Test issue3153: diff -S with deleted subrepos
1376
1377
1377 $ hg diff --nodates -S -c .
1378 $ hg diff --nodates -S -c .
1378 diff -r 365661e5936a -r 2400bccd50af .hgsub
1379 diff -r 365661e5936a -r 2400bccd50af .hgsub
1379 --- a/.hgsub
1380 --- a/.hgsub
1380 +++ /dev/null
1381 +++ /dev/null
1381 @@ -1,2 +0,0 @@
1382 @@ -1,2 +0,0 @@
1382 -s = s
1383 -s = s
1383 -t = t
1384 -t = t
1384 diff -r 365661e5936a -r 2400bccd50af .hgsubstate
1385 diff -r 365661e5936a -r 2400bccd50af .hgsubstate
1385 --- a/.hgsubstate
1386 --- a/.hgsubstate
1386 +++ /dev/null
1387 +++ /dev/null
1387 @@ -1,2 +0,0 @@
1388 @@ -1,2 +0,0 @@
1388 -fc627a69481fcbe5f1135069e8a3881c023e4cf5 s
1389 -fc627a69481fcbe5f1135069e8a3881c023e4cf5 s
1389 -e95bcfa18a358dc4936da981ebf4147b4cad1362 t
1390 -e95bcfa18a358dc4936da981ebf4147b4cad1362 t
1390
1391
1391 Test behavior of add for explicit path in subrepo:
1392 Test behavior of add for explicit path in subrepo:
1392 $ cd ..
1393 $ cd ..
1393 $ hg init explicit
1394 $ hg init explicit
1394 $ cd explicit
1395 $ cd explicit
1395 $ echo s = s > .hgsub
1396 $ echo s = s > .hgsub
1396 $ hg add .hgsub
1397 $ hg add .hgsub
1397 $ hg init s
1398 $ hg init s
1398 $ hg ci -m0
1399 $ hg ci -m0
1399 Adding with an explicit path in a subrepo adds the file
1400 Adding with an explicit path in a subrepo adds the file
1400 $ echo c1 > f1
1401 $ echo c1 > f1
1401 $ echo c2 > s/f2
1402 $ echo c2 > s/f2
1402 $ hg st -S
1403 $ hg st -S
1403 ? f1
1404 ? f1
1404 ? s/f2
1405 ? s/f2
1405 $ hg add s/f2
1406 $ hg add s/f2
1406 $ hg st -S
1407 $ hg st -S
1407 A s/f2
1408 A s/f2
1408 ? f1
1409 ? f1
1409 $ hg ci -R s -m0
1410 $ hg ci -R s -m0
1410 $ hg ci -Am1
1411 $ hg ci -Am1
1411 adding f1
1412 adding f1
1412 Adding with an explicit path in a subrepo with -S has the same behavior
1413 Adding with an explicit path in a subrepo with -S has the same behavior
1413 $ echo c3 > f3
1414 $ echo c3 > f3
1414 $ echo c4 > s/f4
1415 $ echo c4 > s/f4
1415 $ hg st -S
1416 $ hg st -S
1416 ? f3
1417 ? f3
1417 ? s/f4
1418 ? s/f4
1418 $ hg add -S s/f4
1419 $ hg add -S s/f4
1419 $ hg st -S
1420 $ hg st -S
1420 A s/f4
1421 A s/f4
1421 ? f3
1422 ? f3
1422 $ hg ci -R s -m1
1423 $ hg ci -R s -m1
1423 $ hg ci -Ama2
1424 $ hg ci -Ama2
1424 adding f3
1425 adding f3
1425 Adding without a path or pattern silently ignores subrepos
1426 Adding without a path or pattern silently ignores subrepos
1426 $ echo c5 > f5
1427 $ echo c5 > f5
1427 $ echo c6 > s/f6
1428 $ echo c6 > s/f6
1428 $ echo c7 > s/f7
1429 $ echo c7 > s/f7
1429 $ hg st -S
1430 $ hg st -S
1430 ? f5
1431 ? f5
1431 ? s/f6
1432 ? s/f6
1432 ? s/f7
1433 ? s/f7
1433 $ hg add
1434 $ hg add
1434 adding f5
1435 adding f5
1435 $ hg st -S
1436 $ hg st -S
1436 A f5
1437 A f5
1437 ? s/f6
1438 ? s/f6
1438 ? s/f7
1439 ? s/f7
1439 $ hg ci -R s -Am2
1440 $ hg ci -R s -Am2
1440 adding f6
1441 adding f6
1441 adding f7
1442 adding f7
1442 $ hg ci -m3
1443 $ hg ci -m3
1443 Adding without a path or pattern with -S also adds files in subrepos
1444 Adding without a path or pattern with -S also adds files in subrepos
1444 $ echo c8 > f8
1445 $ echo c8 > f8
1445 $ echo c9 > s/f9
1446 $ echo c9 > s/f9
1446 $ echo c10 > s/f10
1447 $ echo c10 > s/f10
1447 $ hg st -S
1448 $ hg st -S
1448 ? f8
1449 ? f8
1449 ? s/f10
1450 ? s/f10
1450 ? s/f9
1451 ? s/f9
1451 $ hg add -S
1452 $ hg add -S
1452 adding f8
1453 adding f8
1453 adding s/f10 (glob)
1454 adding s/f10 (glob)
1454 adding s/f9 (glob)
1455 adding s/f9 (glob)
1455 $ hg st -S
1456 $ hg st -S
1456 A f8
1457 A f8
1457 A s/f10
1458 A s/f10
1458 A s/f9
1459 A s/f9
1459 $ hg ci -R s -m3
1460 $ hg ci -R s -m3
1460 $ hg ci -m4
1461 $ hg ci -m4
1461 Adding with a pattern silently ignores subrepos
1462 Adding with a pattern silently ignores subrepos
1462 $ echo c11 > fm11
1463 $ echo c11 > fm11
1463 $ echo c12 > fn12
1464 $ echo c12 > fn12
1464 $ echo c13 > s/fm13
1465 $ echo c13 > s/fm13
1465 $ echo c14 > s/fn14
1466 $ echo c14 > s/fn14
1466 $ hg st -S
1467 $ hg st -S
1467 ? fm11
1468 ? fm11
1468 ? fn12
1469 ? fn12
1469 ? s/fm13
1470 ? s/fm13
1470 ? s/fn14
1471 ? s/fn14
1471 $ hg add 'glob:**fm*'
1472 $ hg add 'glob:**fm*'
1472 adding fm11
1473 adding fm11
1473 $ hg st -S
1474 $ hg st -S
1474 A fm11
1475 A fm11
1475 ? fn12
1476 ? fn12
1476 ? s/fm13
1477 ? s/fm13
1477 ? s/fn14
1478 ? s/fn14
1478 $ hg ci -R s -Am4
1479 $ hg ci -R s -Am4
1479 adding fm13
1480 adding fm13
1480 adding fn14
1481 adding fn14
1481 $ hg ci -Am5
1482 $ hg ci -Am5
1482 adding fn12
1483 adding fn12
1483 Adding with a pattern with -S also adds matches in subrepos
1484 Adding with a pattern with -S also adds matches in subrepos
1484 $ echo c15 > fm15
1485 $ echo c15 > fm15
1485 $ echo c16 > fn16
1486 $ echo c16 > fn16
1486 $ echo c17 > s/fm17
1487 $ echo c17 > s/fm17
1487 $ echo c18 > s/fn18
1488 $ echo c18 > s/fn18
1488 $ hg st -S
1489 $ hg st -S
1489 ? fm15
1490 ? fm15
1490 ? fn16
1491 ? fn16
1491 ? s/fm17
1492 ? s/fm17
1492 ? s/fn18
1493 ? s/fn18
1493 $ hg add -S 'glob:**fm*'
1494 $ hg add -S 'glob:**fm*'
1494 adding fm15
1495 adding fm15
1495 adding s/fm17 (glob)
1496 adding s/fm17 (glob)
1496 $ hg st -S
1497 $ hg st -S
1497 A fm15
1498 A fm15
1498 A s/fm17
1499 A s/fm17
1499 ? fn16
1500 ? fn16
1500 ? s/fn18
1501 ? s/fn18
1501 $ hg ci -R s -Am5
1502 $ hg ci -R s -Am5
1502 adding fn18
1503 adding fn18
1503 $ hg ci -Am6
1504 $ hg ci -Am6
1504 adding fn16
1505 adding fn16
1505
1506
1506 Test behavior of forget for explicit path in subrepo:
1507 Test behavior of forget for explicit path in subrepo:
1507 Forgetting an explicit path in a subrepo untracks the file
1508 Forgetting an explicit path in a subrepo untracks the file
1508 $ echo c19 > s/f19
1509 $ echo c19 > s/f19
1509 $ hg add s/f19
1510 $ hg add s/f19
1510 $ hg st -S
1511 $ hg st -S
1511 A s/f19
1512 A s/f19
1512 $ hg forget s/f19
1513 $ hg forget s/f19
1513 $ hg st -S
1514 $ hg st -S
1514 ? s/f19
1515 ? s/f19
1515 $ rm s/f19
1516 $ rm s/f19
1516 $ cd ..
1517 $ cd ..
1517
1518
1518 Courtesy phases synchronisation to publishing server does not block the push
1519 Courtesy phases synchronisation to publishing server does not block the push
1519 (issue3781)
1520 (issue3781)
1520
1521
1521 $ cp -R main issue3781
1522 $ cp -R main issue3781
1522 $ cp -R main issue3781-dest
1523 $ cp -R main issue3781-dest
1523 $ cd issue3781-dest/s
1524 $ cd issue3781-dest/s
1524 $ hg phase tip # show we have draft changeset
1525 $ hg phase tip # show we have draft changeset
1525 5: draft
1526 5: draft
1526 $ chmod a-w .hg/store/phaseroots # prevent phase push
1527 $ chmod a-w .hg/store/phaseroots # prevent phase push
1527 $ cd ../../issue3781
1528 $ cd ../../issue3781
1528 $ cat >> .hg/hgrc << EOF
1529 $ cat >> .hg/hgrc << EOF
1529 > [paths]
1530 > [paths]
1530 > default=../issue3781-dest/
1531 > default=../issue3781-dest/
1531 > EOF
1532 > EOF
1532 $ hg push --config devel.legacy.exchange=bundle1
1533 $ hg push --config devel.legacy.exchange=bundle1
1533 pushing to $TESTTMP/issue3781-dest (glob)
1534 pushing to $TESTTMP/issue3781-dest (glob)
1534 pushing subrepo s to $TESTTMP/issue3781-dest/s
1535 pushing subrepo s to $TESTTMP/issue3781-dest/s
1535 searching for changes
1536 searching for changes
1536 no changes found
1537 no changes found
1537 searching for changes
1538 searching for changes
1538 no changes found
1539 no changes found
1539 [1]
1540 [1]
1540 # clean the push cache
1541 # clean the push cache
1541 $ rm s/.hg/cache/storehash/*
1542 $ rm s/.hg/cache/storehash/*
1542 $ hg push # bundle2+
1543 $ hg push # bundle2+
1543 pushing to $TESTTMP/issue3781-dest (glob)
1544 pushing to $TESTTMP/issue3781-dest (glob)
1544 pushing subrepo s to $TESTTMP/issue3781-dest/s
1545 pushing subrepo s to $TESTTMP/issue3781-dest/s
1545 searching for changes
1546 searching for changes
1546 no changes found
1547 no changes found
1547 searching for changes
1548 searching for changes
1548 no changes found
1549 no changes found
1549 [1]
1550 [1]
1550 $ cd ..
1551 $ cd ..
1551
1552
1552 Test phase choice for newly created commit with "phases.subrepochecks"
1553 Test phase choice for newly created commit with "phases.subrepochecks"
1553 configuration
1554 configuration
1554
1555
1555 $ cd t
1556 $ cd t
1556 $ hg update -q -r 12
1557 $ hg update -q -r 12
1557
1558
1558 $ cat >> s/ss/.hg/hgrc <<EOF
1559 $ cat >> s/ss/.hg/hgrc <<EOF
1559 > [phases]
1560 > [phases]
1560 > new-commit = secret
1561 > new-commit = secret
1561 > EOF
1562 > EOF
1562 $ cat >> s/.hg/hgrc <<EOF
1563 $ cat >> s/.hg/hgrc <<EOF
1563 > [phases]
1564 > [phases]
1564 > new-commit = draft
1565 > new-commit = draft
1565 > EOF
1566 > EOF
1566 $ echo phasecheck1 >> s/ss/a
1567 $ echo phasecheck1 >> s/ss/a
1567 $ hg -R s commit -S --config phases.checksubrepos=abort -m phasecheck1
1568 $ hg -R s commit -S --config phases.checksubrepos=abort -m phasecheck1
1568 committing subrepository ss
1569 committing subrepository ss
1569 transaction abort!
1570 transaction abort!
1570 rollback completed
1571 rollback completed
1571 abort: can't commit in draft phase conflicting secret from subrepository ss
1572 abort: can't commit in draft phase conflicting secret from subrepository ss
1572 [255]
1573 [255]
1573 $ echo phasecheck2 >> s/ss/a
1574 $ echo phasecheck2 >> s/ss/a
1574 $ hg -R s commit -S --config phases.checksubrepos=ignore -m phasecheck2
1575 $ hg -R s commit -S --config phases.checksubrepos=ignore -m phasecheck2
1575 committing subrepository ss
1576 committing subrepository ss
1576 $ hg -R s/ss phase tip
1577 $ hg -R s/ss phase tip
1577 3: secret
1578 3: secret
1578 $ hg -R s phase tip
1579 $ hg -R s phase tip
1579 6: draft
1580 6: draft
1580 $ echo phasecheck3 >> s/ss/a
1581 $ echo phasecheck3 >> s/ss/a
1581 $ hg -R s commit -S -m phasecheck3
1582 $ hg -R s commit -S -m phasecheck3
1582 committing subrepository ss
1583 committing subrepository ss
1583 warning: changes are committed in secret phase from subrepository ss
1584 warning: changes are committed in secret phase from subrepository ss
1584 $ hg -R s/ss phase tip
1585 $ hg -R s/ss phase tip
1585 4: secret
1586 4: secret
1586 $ hg -R s phase tip
1587 $ hg -R s phase tip
1587 7: secret
1588 7: secret
1588
1589
1589 $ cat >> t/.hg/hgrc <<EOF
1590 $ cat >> t/.hg/hgrc <<EOF
1590 > [phases]
1591 > [phases]
1591 > new-commit = draft
1592 > new-commit = draft
1592 > EOF
1593 > EOF
1593 $ cat >> .hg/hgrc <<EOF
1594 $ cat >> .hg/hgrc <<EOF
1594 > [phases]
1595 > [phases]
1595 > new-commit = public
1596 > new-commit = public
1596 > EOF
1597 > EOF
1597 $ echo phasecheck4 >> s/ss/a
1598 $ echo phasecheck4 >> s/ss/a
1598 $ echo phasecheck4 >> t/t
1599 $ echo phasecheck4 >> t/t
1599 $ hg commit -S -m phasecheck4
1600 $ hg commit -S -m phasecheck4
1600 committing subrepository s
1601 committing subrepository s
1601 committing subrepository s/ss (glob)
1602 committing subrepository s/ss (glob)
1602 warning: changes are committed in secret phase from subrepository ss
1603 warning: changes are committed in secret phase from subrepository ss
1603 committing subrepository t
1604 committing subrepository t
1604 warning: changes are committed in secret phase from subrepository s
1605 warning: changes are committed in secret phase from subrepository s
1605 created new head
1606 created new head
1606 $ hg -R s/ss phase tip
1607 $ hg -R s/ss phase tip
1607 5: secret
1608 5: secret
1608 $ hg -R s phase tip
1609 $ hg -R s phase tip
1609 8: secret
1610 8: secret
1610 $ hg -R t phase tip
1611 $ hg -R t phase tip
1611 6: draft
1612 6: draft
1612 $ hg phase tip
1613 $ hg phase tip
1613 15: secret
1614 15: secret
1614
1615
1615 $ cd ..
1616 $ cd ..
1616
1617
1617
1618
1618 Test that commit --secret works on both repo and subrepo (issue4182)
1619 Test that commit --secret works on both repo and subrepo (issue4182)
1619
1620
1620 $ cd main
1621 $ cd main
1621 $ echo secret >> b
1622 $ echo secret >> b
1622 $ echo secret >> s/b
1623 $ echo secret >> s/b
1623 $ hg commit --secret --subrepo -m "secret"
1624 $ hg commit --secret --subrepo -m "secret"
1624 committing subrepository s
1625 committing subrepository s
1625 $ hg phase -r .
1626 $ hg phase -r .
1626 6: secret
1627 6: secret
1627 $ cd s
1628 $ cd s
1628 $ hg phase -r .
1629 $ hg phase -r .
1629 6: secret
1630 6: secret
1630 $ cd ../../
1631 $ cd ../../
1631
1632
1632 Test "subrepos" template keyword
1633 Test "subrepos" template keyword
1633
1634
1634 $ cd t
1635 $ cd t
1635 $ hg update -q 15
1636 $ hg update -q 15
1636 $ cat > .hgsub <<EOF
1637 $ cat > .hgsub <<EOF
1637 > s = s
1638 > s = s
1638 > EOF
1639 > EOF
1639 $ hg commit -m "16"
1640 $ hg commit -m "16"
1640 warning: changes are committed in secret phase from subrepository s
1641 warning: changes are committed in secret phase from subrepository s
1641
1642
1642 (addition of ".hgsub" itself)
1643 (addition of ".hgsub" itself)
1643
1644
1644 $ hg diff --nodates -c 1 .hgsubstate
1645 $ hg diff --nodates -c 1 .hgsubstate
1645 diff -r f7b1eb17ad24 -r 7cf8cfea66e4 .hgsubstate
1646 diff -r f7b1eb17ad24 -r 7cf8cfea66e4 .hgsubstate
1646 --- /dev/null
1647 --- /dev/null
1647 +++ b/.hgsubstate
1648 +++ b/.hgsubstate
1648 @@ -0,0 +1,1 @@
1649 @@ -0,0 +1,1 @@
1649 +e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1650 +e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1650 $ hg log -r 1 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1651 $ hg log -r 1 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1651 f7b1eb17ad24 000000000000
1652 f7b1eb17ad24 000000000000
1652 s
1653 s
1653
1654
1654 (modification of existing entry)
1655 (modification of existing entry)
1655
1656
1656 $ hg diff --nodates -c 2 .hgsubstate
1657 $ hg diff --nodates -c 2 .hgsubstate
1657 diff -r 7cf8cfea66e4 -r df30734270ae .hgsubstate
1658 diff -r 7cf8cfea66e4 -r df30734270ae .hgsubstate
1658 --- a/.hgsubstate
1659 --- a/.hgsubstate
1659 +++ b/.hgsubstate
1660 +++ b/.hgsubstate
1660 @@ -1,1 +1,1 @@
1661 @@ -1,1 +1,1 @@
1661 -e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1662 -e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1662 +dc73e2e6d2675eb2e41e33c205f4bdab4ea5111d s
1663 +dc73e2e6d2675eb2e41e33c205f4bdab4ea5111d s
1663 $ hg log -r 2 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1664 $ hg log -r 2 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1664 7cf8cfea66e4 000000000000
1665 7cf8cfea66e4 000000000000
1665 s
1666 s
1666
1667
1667 (addition of entry)
1668 (addition of entry)
1668
1669
1669 $ hg diff --nodates -c 5 .hgsubstate
1670 $ hg diff --nodates -c 5 .hgsubstate
1670 diff -r 7cf8cfea66e4 -r 1f14a2e2d3ec .hgsubstate
1671 diff -r 7cf8cfea66e4 -r 1f14a2e2d3ec .hgsubstate
1671 --- a/.hgsubstate
1672 --- a/.hgsubstate
1672 +++ b/.hgsubstate
1673 +++ b/.hgsubstate
1673 @@ -1,1 +1,2 @@
1674 @@ -1,1 +1,2 @@
1674 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1675 e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1675 +60ca1237c19474e7a3978b0dc1ca4e6f36d51382 t
1676 +60ca1237c19474e7a3978b0dc1ca4e6f36d51382 t
1676 $ hg log -r 5 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1677 $ hg log -r 5 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1677 7cf8cfea66e4 000000000000
1678 7cf8cfea66e4 000000000000
1678 t
1679 t
1679
1680
1680 (removal of existing entry)
1681 (removal of existing entry)
1681
1682
1682 $ hg diff --nodates -c 16 .hgsubstate
1683 $ hg diff --nodates -c 16 .hgsubstate
1683 diff -r 8bec38d2bd0b -r f2f70bc3d3c9 .hgsubstate
1684 diff -r 8bec38d2bd0b -r f2f70bc3d3c9 .hgsubstate
1684 --- a/.hgsubstate
1685 --- a/.hgsubstate
1685 +++ b/.hgsubstate
1686 +++ b/.hgsubstate
1686 @@ -1,2 +1,1 @@
1687 @@ -1,2 +1,1 @@
1687 0731af8ca9423976d3743119d0865097c07bdc1b s
1688 0731af8ca9423976d3743119d0865097c07bdc1b s
1688 -e202dc79b04c88a636ea8913d9182a1346d9b3dc t
1689 -e202dc79b04c88a636ea8913d9182a1346d9b3dc t
1689 $ hg log -r 16 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1690 $ hg log -r 16 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1690 8bec38d2bd0b 000000000000
1691 8bec38d2bd0b 000000000000
1691 t
1692 t
1692
1693
1693 (merging)
1694 (merging)
1694
1695
1695 $ hg diff --nodates -c 9 .hgsubstate
1696 $ hg diff --nodates -c 9 .hgsubstate
1696 diff -r f6affe3fbfaa -r f0d2028bf86d .hgsubstate
1697 diff -r f6affe3fbfaa -r f0d2028bf86d .hgsubstate
1697 --- a/.hgsubstate
1698 --- a/.hgsubstate
1698 +++ b/.hgsubstate
1699 +++ b/.hgsubstate
1699 @@ -1,1 +1,2 @@
1700 @@ -1,1 +1,2 @@
1700 fc627a69481fcbe5f1135069e8a3881c023e4cf5 s
1701 fc627a69481fcbe5f1135069e8a3881c023e4cf5 s
1701 +60ca1237c19474e7a3978b0dc1ca4e6f36d51382 t
1702 +60ca1237c19474e7a3978b0dc1ca4e6f36d51382 t
1702 $ hg log -r 9 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1703 $ hg log -r 9 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1703 f6affe3fbfaa 1f14a2e2d3ec
1704 f6affe3fbfaa 1f14a2e2d3ec
1704 t
1705 t
1705
1706
1706 (removal of ".hgsub" itself)
1707 (removal of ".hgsub" itself)
1707
1708
1708 $ hg diff --nodates -c 8 .hgsubstate
1709 $ hg diff --nodates -c 8 .hgsubstate
1709 diff -r f94576341bcf -r 96615c1dad2d .hgsubstate
1710 diff -r f94576341bcf -r 96615c1dad2d .hgsubstate
1710 --- a/.hgsubstate
1711 --- a/.hgsubstate
1711 +++ /dev/null
1712 +++ /dev/null
1712 @@ -1,2 +0,0 @@
1713 @@ -1,2 +0,0 @@
1713 -e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1714 -e4ece1bf43360ddc8f6a96432201a37b7cd27ae4 s
1714 -7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4 t
1715 -7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4 t
1715 $ hg log -r 8 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1716 $ hg log -r 8 --template "{p1node|short} {p2node|short}\n{subrepos % '{subrepo}\n'}"
1716 f94576341bcf 000000000000
1717 f94576341bcf 000000000000
1717
1718
1718 Test that '[paths]' is configured correctly at subrepo creation
1719 Test that '[paths]' is configured correctly at subrepo creation
1719
1720
1720 $ cd $TESTTMP/tc
1721 $ cd $TESTTMP/tc
1721 $ cat > .hgsub <<EOF
1722 $ cat > .hgsub <<EOF
1722 > # to clear bogus subrepo path 'bogus=[boguspath'
1723 > # to clear bogus subrepo path 'bogus=[boguspath'
1723 > s = s
1724 > s = s
1724 > t = t
1725 > t = t
1725 > EOF
1726 > EOF
1726 $ hg update -q --clean null
1727 $ hg update -q --clean null
1727 $ rm -rf s t
1728 $ rm -rf s t
1728 $ cat >> .hg/hgrc <<EOF
1729 $ cat >> .hg/hgrc <<EOF
1729 > [paths]
1730 > [paths]
1730 > default-push = /foo/bar
1731 > default-push = /foo/bar
1731 > EOF
1732 > EOF
1732 $ hg update -q
1733 $ hg update -q
1733 $ cat s/.hg/hgrc
1734 $ cat s/.hg/hgrc
1734 [paths]
1735 [paths]
1735 default = $TESTTMP/t/s
1736 default = $TESTTMP/t/s
1736 default-push = /foo/bar/s
1737 default-push = /foo/bar/s
1737 $ cat s/ss/.hg/hgrc
1738 $ cat s/ss/.hg/hgrc
1738 [paths]
1739 [paths]
1739 default = $TESTTMP/t/s/ss
1740 default = $TESTTMP/t/s/ss
1740 default-push = /foo/bar/s/ss
1741 default-push = /foo/bar/s/ss
1741 $ cat t/.hg/hgrc
1742 $ cat t/.hg/hgrc
1742 [paths]
1743 [paths]
1743 default = $TESTTMP/t/t
1744 default = $TESTTMP/t/t
1744 default-push = /foo/bar/t
1745 default-push = /foo/bar/t
1745
1746
1746 $ cd $TESTTMP/t
1747 $ cd $TESTTMP/t
1747 $ hg up -qC 0
1748 $ hg up -qC 0
1748 $ echo 'bar' > bar.txt
1749 $ echo 'bar' > bar.txt
1749 $ hg ci -Am 'branch before subrepo add'
1750 $ hg ci -Am 'branch before subrepo add'
1750 adding bar.txt
1751 adding bar.txt
1751 created new head
1752 created new head
1752 $ hg merge -r "first(subrepo('s'))"
1753 $ hg merge -r "first(subrepo('s'))"
1753 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1754 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1754 (branch merge, don't forget to commit)
1755 (branch merge, don't forget to commit)
1755 $ hg status -S -X '.hgsub*'
1756 $ hg status -S -X '.hgsub*'
1756 A s/a
1757 A s/a
1757 ? s/b
1758 ? s/b
1758 ? s/c
1759 ? s/c
1759 ? s/f1
1760 ? s/f1
1760 $ hg status -S --rev 'p2()'
1761 $ hg status -S --rev 'p2()'
1761 A bar.txt
1762 A bar.txt
1762 ? s/b
1763 ? s/b
1763 ? s/c
1764 ? s/c
1764 ? s/f1
1765 ? s/f1
1765 $ hg diff -S -X '.hgsub*' --nodates
1766 $ hg diff -S -X '.hgsub*' --nodates
1766 diff -r 000000000000 s/a
1767 diff -r 000000000000 s/a
1767 --- /dev/null
1768 --- /dev/null
1768 +++ b/s/a
1769 +++ b/s/a
1769 @@ -0,0 +1,1 @@
1770 @@ -0,0 +1,1 @@
1770 +a
1771 +a
1771 $ hg diff -S --rev 'p2()' --nodates
1772 $ hg diff -S --rev 'p2()' --nodates
1772 diff -r 7cf8cfea66e4 bar.txt
1773 diff -r 7cf8cfea66e4 bar.txt
1773 --- /dev/null
1774 --- /dev/null
1774 +++ b/bar.txt
1775 +++ b/bar.txt
1775 @@ -0,0 +1,1 @@
1776 @@ -0,0 +1,1 @@
1776 +bar
1777 +bar
1777
1778
1778 $ cd ..
1779 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now