##// END OF EJS Templates
test: use `printenv.py --line` in `test-bundle.t`...
Boris Feld -
r41786:252cc56c default
parent child Browse files
Show More
@@ -1,912 +1,926 b''
1 Setting up test
1 Setting up test
2
2
3 $ hg init test
3 $ hg init test
4 $ cd test
4 $ cd test
5 $ echo 0 > afile
5 $ echo 0 > afile
6 $ hg add afile
6 $ hg add afile
7 $ hg commit -m "0.0"
7 $ hg commit -m "0.0"
8 $ echo 1 >> afile
8 $ echo 1 >> afile
9 $ hg commit -m "0.1"
9 $ hg commit -m "0.1"
10 $ echo 2 >> afile
10 $ echo 2 >> afile
11 $ hg commit -m "0.2"
11 $ hg commit -m "0.2"
12 $ echo 3 >> afile
12 $ echo 3 >> afile
13 $ hg commit -m "0.3"
13 $ hg commit -m "0.3"
14 $ hg update -C 0
14 $ hg update -C 0
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
16 $ echo 1 >> afile
16 $ echo 1 >> afile
17 $ hg commit -m "1.1"
17 $ hg commit -m "1.1"
18 created new head
18 created new head
19 $ echo 2 >> afile
19 $ echo 2 >> afile
20 $ hg commit -m "1.2"
20 $ hg commit -m "1.2"
21 $ echo "a line" > fred
21 $ echo "a line" > fred
22 $ echo 3 >> afile
22 $ echo 3 >> afile
23 $ hg add fred
23 $ hg add fred
24 $ hg commit -m "1.3"
24 $ hg commit -m "1.3"
25 $ hg mv afile adifferentfile
25 $ hg mv afile adifferentfile
26 $ hg commit -m "1.3m"
26 $ hg commit -m "1.3m"
27 $ hg update -C 3
27 $ hg update -C 3
28 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
28 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
29 $ hg mv afile anotherfile
29 $ hg mv afile anotherfile
30 $ hg commit -m "0.3m"
30 $ hg commit -m "0.3m"
31 $ hg verify
31 $ hg verify
32 checking changesets
32 checking changesets
33 checking manifests
33 checking manifests
34 crosschecking files in changesets and manifests
34 crosschecking files in changesets and manifests
35 checking files
35 checking files
36 checked 9 changesets with 7 changes to 4 files
36 checked 9 changesets with 7 changes to 4 files
37 $ cd ..
37 $ cd ..
38 $ hg init empty
38 $ hg init empty
39
39
40 Bundle and phase
40 Bundle and phase
41
41
42 $ hg -R test phase --force --secret 0
42 $ hg -R test phase --force --secret 0
43 $ hg -R test bundle phase.hg empty
43 $ hg -R test bundle phase.hg empty
44 searching for changes
44 searching for changes
45 no changes found (ignored 9 secret changesets)
45 no changes found (ignored 9 secret changesets)
46 [1]
46 [1]
47 $ hg -R test phase --draft -r 'head()'
47 $ hg -R test phase --draft -r 'head()'
48
48
49 Bundle --all
49 Bundle --all
50
50
51 $ hg -R test bundle --all all.hg
51 $ hg -R test bundle --all all.hg
52 9 changesets found
52 9 changesets found
53
53
54 Bundle test to full.hg
54 Bundle test to full.hg
55
55
56 $ hg -R test bundle full.hg empty
56 $ hg -R test bundle full.hg empty
57 searching for changes
57 searching for changes
58 9 changesets found
58 9 changesets found
59
59
60 Unbundle full.hg in test
60 Unbundle full.hg in test
61
61
62 $ hg -R test unbundle full.hg
62 $ hg -R test unbundle full.hg
63 adding changesets
63 adding changesets
64 adding manifests
64 adding manifests
65 adding file changes
65 adding file changes
66 added 0 changesets with 0 changes to 4 files
66 added 0 changesets with 0 changes to 4 files
67 (run 'hg update' to get a working copy)
67 (run 'hg update' to get a working copy)
68
68
69 Verify empty
69 Verify empty
70
70
71 $ hg -R empty heads
71 $ hg -R empty heads
72 [1]
72 [1]
73 $ hg -R empty verify
73 $ hg -R empty verify
74 checking changesets
74 checking changesets
75 checking manifests
75 checking manifests
76 crosschecking files in changesets and manifests
76 crosschecking files in changesets and manifests
77 checking files
77 checking files
78 checked 0 changesets with 0 changes to 0 files
78 checked 0 changesets with 0 changes to 0 files
79
79
80 #if repobundlerepo
80 #if repobundlerepo
81
81
82 Pull full.hg into test (using --cwd)
82 Pull full.hg into test (using --cwd)
83
83
84 $ hg --cwd test pull ../full.hg
84 $ hg --cwd test pull ../full.hg
85 pulling from ../full.hg
85 pulling from ../full.hg
86 searching for changes
86 searching for changes
87 no changes found
87 no changes found
88
88
89 Verify that there are no leaked temporary files after pull (issue2797)
89 Verify that there are no leaked temporary files after pull (issue2797)
90
90
91 $ ls test/.hg | grep .hg10un
91 $ ls test/.hg | grep .hg10un
92 [1]
92 [1]
93
93
94 Pull full.hg into empty (using --cwd)
94 Pull full.hg into empty (using --cwd)
95
95
96 $ hg --cwd empty pull ../full.hg
96 $ hg --cwd empty pull ../full.hg
97 pulling from ../full.hg
97 pulling from ../full.hg
98 requesting all changes
98 requesting all changes
99 adding changesets
99 adding changesets
100 adding manifests
100 adding manifests
101 adding file changes
101 adding file changes
102 added 9 changesets with 7 changes to 4 files (+1 heads)
102 added 9 changesets with 7 changes to 4 files (+1 heads)
103 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
103 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
104 (run 'hg heads' to see heads, 'hg merge' to merge)
104 (run 'hg heads' to see heads, 'hg merge' to merge)
105
105
106 Rollback empty
106 Rollback empty
107
107
108 $ hg -R empty rollback
108 $ hg -R empty rollback
109 repository tip rolled back to revision -1 (undo pull)
109 repository tip rolled back to revision -1 (undo pull)
110
110
111 Pull full.hg into empty again (using --cwd)
111 Pull full.hg into empty again (using --cwd)
112
112
113 $ hg --cwd empty pull ../full.hg
113 $ hg --cwd empty pull ../full.hg
114 pulling from ../full.hg
114 pulling from ../full.hg
115 requesting all changes
115 requesting all changes
116 adding changesets
116 adding changesets
117 adding manifests
117 adding manifests
118 adding file changes
118 adding file changes
119 added 9 changesets with 7 changes to 4 files (+1 heads)
119 added 9 changesets with 7 changes to 4 files (+1 heads)
120 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
120 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
121 (run 'hg heads' to see heads, 'hg merge' to merge)
121 (run 'hg heads' to see heads, 'hg merge' to merge)
122
122
123 Pull full.hg into test (using -R)
123 Pull full.hg into test (using -R)
124
124
125 $ hg -R test pull full.hg
125 $ hg -R test pull full.hg
126 pulling from full.hg
126 pulling from full.hg
127 searching for changes
127 searching for changes
128 no changes found
128 no changes found
129
129
130 Pull full.hg into empty (using -R)
130 Pull full.hg into empty (using -R)
131
131
132 $ hg -R empty pull full.hg
132 $ hg -R empty pull full.hg
133 pulling from full.hg
133 pulling from full.hg
134 searching for changes
134 searching for changes
135 no changes found
135 no changes found
136
136
137 Rollback empty
137 Rollback empty
138
138
139 $ hg -R empty rollback
139 $ hg -R empty rollback
140 repository tip rolled back to revision -1 (undo pull)
140 repository tip rolled back to revision -1 (undo pull)
141
141
142 Pull full.hg into empty again (using -R)
142 Pull full.hg into empty again (using -R)
143
143
144 $ hg -R empty pull full.hg
144 $ hg -R empty pull full.hg
145 pulling from full.hg
145 pulling from full.hg
146 requesting all changes
146 requesting all changes
147 adding changesets
147 adding changesets
148 adding manifests
148 adding manifests
149 adding file changes
149 adding file changes
150 added 9 changesets with 7 changes to 4 files (+1 heads)
150 added 9 changesets with 7 changes to 4 files (+1 heads)
151 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
151 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
152 (run 'hg heads' to see heads, 'hg merge' to merge)
152 (run 'hg heads' to see heads, 'hg merge' to merge)
153
153
154 Log -R full.hg in fresh empty
154 Log -R full.hg in fresh empty
155
155
156 $ rm -r empty
156 $ rm -r empty
157 $ hg init empty
157 $ hg init empty
158 $ cd empty
158 $ cd empty
159 $ hg -R bundle://../full.hg log
159 $ hg -R bundle://../full.hg log
160 changeset: 8:aa35859c02ea
160 changeset: 8:aa35859c02ea
161 tag: tip
161 tag: tip
162 parent: 3:eebf5a27f8ca
162 parent: 3:eebf5a27f8ca
163 user: test
163 user: test
164 date: Thu Jan 01 00:00:00 1970 +0000
164 date: Thu Jan 01 00:00:00 1970 +0000
165 summary: 0.3m
165 summary: 0.3m
166
166
167 changeset: 7:a6a34bfa0076
167 changeset: 7:a6a34bfa0076
168 user: test
168 user: test
169 date: Thu Jan 01 00:00:00 1970 +0000
169 date: Thu Jan 01 00:00:00 1970 +0000
170 summary: 1.3m
170 summary: 1.3m
171
171
172 changeset: 6:7373c1169842
172 changeset: 6:7373c1169842
173 user: test
173 user: test
174 date: Thu Jan 01 00:00:00 1970 +0000
174 date: Thu Jan 01 00:00:00 1970 +0000
175 summary: 1.3
175 summary: 1.3
176
176
177 changeset: 5:1bb50a9436a7
177 changeset: 5:1bb50a9436a7
178 user: test
178 user: test
179 date: Thu Jan 01 00:00:00 1970 +0000
179 date: Thu Jan 01 00:00:00 1970 +0000
180 summary: 1.2
180 summary: 1.2
181
181
182 changeset: 4:095197eb4973
182 changeset: 4:095197eb4973
183 parent: 0:f9ee2f85a263
183 parent: 0:f9ee2f85a263
184 user: test
184 user: test
185 date: Thu Jan 01 00:00:00 1970 +0000
185 date: Thu Jan 01 00:00:00 1970 +0000
186 summary: 1.1
186 summary: 1.1
187
187
188 changeset: 3:eebf5a27f8ca
188 changeset: 3:eebf5a27f8ca
189 user: test
189 user: test
190 date: Thu Jan 01 00:00:00 1970 +0000
190 date: Thu Jan 01 00:00:00 1970 +0000
191 summary: 0.3
191 summary: 0.3
192
192
193 changeset: 2:e38ba6f5b7e0
193 changeset: 2:e38ba6f5b7e0
194 user: test
194 user: test
195 date: Thu Jan 01 00:00:00 1970 +0000
195 date: Thu Jan 01 00:00:00 1970 +0000
196 summary: 0.2
196 summary: 0.2
197
197
198 changeset: 1:34c2bf6b0626
198 changeset: 1:34c2bf6b0626
199 user: test
199 user: test
200 date: Thu Jan 01 00:00:00 1970 +0000
200 date: Thu Jan 01 00:00:00 1970 +0000
201 summary: 0.1
201 summary: 0.1
202
202
203 changeset: 0:f9ee2f85a263
203 changeset: 0:f9ee2f85a263
204 user: test
204 user: test
205 date: Thu Jan 01 00:00:00 1970 +0000
205 date: Thu Jan 01 00:00:00 1970 +0000
206 summary: 0.0
206 summary: 0.0
207
207
208 Make sure bundlerepo doesn't leak tempfiles (issue2491)
208 Make sure bundlerepo doesn't leak tempfiles (issue2491)
209
209
210 $ ls .hg
210 $ ls .hg
211 00changelog.i
211 00changelog.i
212 cache
212 cache
213 requires
213 requires
214 store
214 store
215 wcache
215 wcache
216
216
217 Pull ../full.hg into empty (with hook)
217 Pull ../full.hg into empty (with hook)
218
218
219 $ cat >> .hg/hgrc <<EOF
219 $ cat >> .hg/hgrc <<EOF
220 > [hooks]
220 > [hooks]
221 > changegroup = sh -c "printenv.py changegroup"
221 > changegroup = sh -c "printenv.py --line changegroup"
222 > EOF
222 > EOF
223
223
224 doesn't work (yet ?)
224 doesn't work (yet ?)
225
225
226 hg -R bundle://../full.hg verify
226 hg -R bundle://../full.hg verify
227
227
228 $ hg pull bundle://../full.hg
228 $ hg pull bundle://../full.hg
229 pulling from bundle:../full.hg
229 pulling from bundle:../full.hg
230 requesting all changes
230 requesting all changes
231 adding changesets
231 adding changesets
232 adding manifests
232 adding manifests
233 adding file changes
233 adding file changes
234 added 9 changesets with 7 changes to 4 files (+1 heads)
234 added 9 changesets with 7 changes to 4 files (+1 heads)
235 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
235 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
236 changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=bundle*../full.hg (glob)
236 changegroup hook: HG_HOOKNAME=changegroup
237 HG_HOOKTYPE=changegroup
238 HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735
239 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf
240 HG_SOURCE=pull
241 HG_TXNID=TXN:$ID$
242 HG_URL=bundle:../full.hg
243
237 (run 'hg heads' to see heads, 'hg merge' to merge)
244 (run 'hg heads' to see heads, 'hg merge' to merge)
238
245
239 Rollback empty
246 Rollback empty
240
247
241 $ hg rollback
248 $ hg rollback
242 repository tip rolled back to revision -1 (undo pull)
249 repository tip rolled back to revision -1 (undo pull)
243 $ cd ..
250 $ cd ..
244
251
245 Log -R bundle:empty+full.hg
252 Log -R bundle:empty+full.hg
246
253
247 $ hg -R bundle:empty+full.hg log --template="{rev} "; echo ""
254 $ hg -R bundle:empty+full.hg log --template="{rev} "; echo ""
248 8 7 6 5 4 3 2 1 0
255 8 7 6 5 4 3 2 1 0
249
256
250 Pull full.hg into empty again (using -R; with hook)
257 Pull full.hg into empty again (using -R; with hook)
251
258
252 $ hg -R empty pull full.hg
259 $ hg -R empty pull full.hg
253 pulling from full.hg
260 pulling from full.hg
254 requesting all changes
261 requesting all changes
255 adding changesets
262 adding changesets
256 adding manifests
263 adding manifests
257 adding file changes
264 adding file changes
258 added 9 changesets with 7 changes to 4 files (+1 heads)
265 added 9 changesets with 7 changes to 4 files (+1 heads)
259 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
266 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
260 changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=bundle:empty+full.hg
267 changegroup hook: HG_HOOKNAME=changegroup
268 HG_HOOKTYPE=changegroup
269 HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735
270 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf
271 HG_SOURCE=pull
272 HG_TXNID=TXN:$ID$
273 HG_URL=bundle:empty+full.hg
274
261 (run 'hg heads' to see heads, 'hg merge' to merge)
275 (run 'hg heads' to see heads, 'hg merge' to merge)
262
276
263 #endif
277 #endif
264
278
265 Cannot produce streaming clone bundles with "hg bundle"
279 Cannot produce streaming clone bundles with "hg bundle"
266
280
267 $ hg -R test bundle -t packed1 packed.hg
281 $ hg -R test bundle -t packed1 packed.hg
268 abort: packed bundles cannot be produced by "hg bundle"
282 abort: packed bundles cannot be produced by "hg bundle"
269 (use 'hg debugcreatestreamclonebundle')
283 (use 'hg debugcreatestreamclonebundle')
270 [255]
284 [255]
271
285
272 packed1 is produced properly
286 packed1 is produced properly
273
287
274 #if reporevlogstore
288 #if reporevlogstore
275
289
276 $ hg -R test debugcreatestreamclonebundle packed.hg
290 $ hg -R test debugcreatestreamclonebundle packed.hg
277 writing 2664 bytes for 6 files
291 writing 2664 bytes for 6 files
278 bundle requirements: generaldelta, revlogv1, sparserevlog
292 bundle requirements: generaldelta, revlogv1, sparserevlog
279
293
280 $ f -B 64 --size --sha1 --hexdump packed.hg
294 $ f -B 64 --size --sha1 --hexdump packed.hg
281 packed.hg: size=2840, sha1=12bf3eee3eb8a04c503ce2d29b48f0135c7edff5
295 packed.hg: size=2840, sha1=12bf3eee3eb8a04c503ce2d29b48f0135c7edff5
282 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........|
296 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........|
283 0010: 00 00 00 00 0a 68 00 23 67 65 6e 65 72 61 6c 64 |.....h.#generald|
297 0010: 00 00 00 00 0a 68 00 23 67 65 6e 65 72 61 6c 64 |.....h.#generald|
284 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp|
298 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp|
285 0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/|
299 0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/|
286
300
287 $ hg debugbundle --spec packed.hg
301 $ hg debugbundle --spec packed.hg
288 none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog
302 none-packed1;requirements%3Dgeneraldelta%2Crevlogv1%2Csparserevlog
289
303
290 generaldelta requirement is not listed in stream clone bundles unless used
304 generaldelta requirement is not listed in stream clone bundles unless used
291
305
292 $ hg --config format.usegeneraldelta=false init testnongd
306 $ hg --config format.usegeneraldelta=false init testnongd
293 $ cd testnongd
307 $ cd testnongd
294 $ touch foo
308 $ touch foo
295 $ hg -q commit -A -m initial
309 $ hg -q commit -A -m initial
296 $ cd ..
310 $ cd ..
297 $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
311 $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg
298 writing 301 bytes for 3 files
312 writing 301 bytes for 3 files
299 bundle requirements: revlogv1
313 bundle requirements: revlogv1
300
314
301 $ f -B 64 --size --sha1 --hexdump packednongd.hg
315 $ f -B 64 --size --sha1 --hexdump packednongd.hg
302 packednongd.hg: size=383, sha1=1d9c230238edd5d38907100b729ba72b1831fe6f
316 packednongd.hg: size=383, sha1=1d9c230238edd5d38907100b729ba72b1831fe6f
303 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........|
317 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........|
304 0010: 00 00 00 00 01 2d 00 09 72 65 76 6c 6f 67 76 31 |.....-..revlogv1|
318 0010: 00 00 00 00 01 2d 00 09 72 65 76 6c 6f 67 76 31 |.....-..revlogv1|
305 0020: 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 34 0a 00 |.data/foo.i.64..|
319 0020: 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 34 0a 00 |.data/foo.i.64..|
306 0030: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
320 0030: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
307
321
308 $ hg debugbundle --spec packednongd.hg
322 $ hg debugbundle --spec packednongd.hg
309 none-packed1;requirements%3Drevlogv1
323 none-packed1;requirements%3Drevlogv1
310
324
311 Warning emitted when packed bundles contain secret changesets
325 Warning emitted when packed bundles contain secret changesets
312
326
313 $ hg init testsecret
327 $ hg init testsecret
314 $ cd testsecret
328 $ cd testsecret
315 $ touch foo
329 $ touch foo
316 $ hg -q commit -A -m initial
330 $ hg -q commit -A -m initial
317 $ hg phase --force --secret -r .
331 $ hg phase --force --secret -r .
318 $ cd ..
332 $ cd ..
319
333
320 $ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
334 $ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg
321 (warning: stream clone bundle will contain secret revisions)
335 (warning: stream clone bundle will contain secret revisions)
322 writing 301 bytes for 3 files
336 writing 301 bytes for 3 files
323 bundle requirements: generaldelta, revlogv1, sparserevlog
337 bundle requirements: generaldelta, revlogv1, sparserevlog
324
338
325 Unpacking packed1 bundles with "hg unbundle" isn't allowed
339 Unpacking packed1 bundles with "hg unbundle" isn't allowed
326
340
327 $ hg init packed
341 $ hg init packed
328 $ hg -R packed unbundle packed.hg
342 $ hg -R packed unbundle packed.hg
329 abort: packed bundles cannot be applied with "hg unbundle"
343 abort: packed bundles cannot be applied with "hg unbundle"
330 (use "hg debugapplystreamclonebundle")
344 (use "hg debugapplystreamclonebundle")
331 [255]
345 [255]
332
346
333 packed1 can be consumed from debug command
347 packed1 can be consumed from debug command
334
348
335 (this also confirms that streamclone-ed changes are visible via
349 (this also confirms that streamclone-ed changes are visible via
336 @filecache properties to in-process procedures before closing
350 @filecache properties to in-process procedures before closing
337 transaction)
351 transaction)
338
352
339 $ cat > $TESTTMP/showtip.py <<EOF
353 $ cat > $TESTTMP/showtip.py <<EOF
340 > from __future__ import absolute_import
354 > from __future__ import absolute_import
341 >
355 >
342 > def showtip(ui, repo, hooktype, **kwargs):
356 > def showtip(ui, repo, hooktype, **kwargs):
343 > ui.warn(b'%s: %s\n' % (hooktype, repo[b'tip'].hex()[:12]))
357 > ui.warn(b'%s: %s\n' % (hooktype, repo[b'tip'].hex()[:12]))
344 >
358 >
345 > def reposetup(ui, repo):
359 > def reposetup(ui, repo):
346 > # this confirms (and ensures) that (empty) 00changelog.i
360 > # this confirms (and ensures) that (empty) 00changelog.i
347 > # before streamclone is already cached as repo.changelog
361 > # before streamclone is already cached as repo.changelog
348 > ui.setconfig(b'hooks', b'pretxnopen.showtip', showtip)
362 > ui.setconfig(b'hooks', b'pretxnopen.showtip', showtip)
349 >
363 >
350 > # this confirms that streamclone-ed changes are visible to
364 > # this confirms that streamclone-ed changes are visible to
351 > # in-process procedures before closing transaction
365 > # in-process procedures before closing transaction
352 > ui.setconfig(b'hooks', b'pretxnclose.showtip', showtip)
366 > ui.setconfig(b'hooks', b'pretxnclose.showtip', showtip)
353 >
367 >
354 > # this confirms that streamclone-ed changes are still visible
368 > # this confirms that streamclone-ed changes are still visible
355 > # after closing transaction
369 > # after closing transaction
356 > ui.setconfig(b'hooks', b'txnclose.showtip', showtip)
370 > ui.setconfig(b'hooks', b'txnclose.showtip', showtip)
357 > EOF
371 > EOF
358 $ cat >> $HGRCPATH <<EOF
372 $ cat >> $HGRCPATH <<EOF
359 > [extensions]
373 > [extensions]
360 > showtip = $TESTTMP/showtip.py
374 > showtip = $TESTTMP/showtip.py
361 > EOF
375 > EOF
362
376
363 $ hg -R packed debugapplystreamclonebundle packed.hg
377 $ hg -R packed debugapplystreamclonebundle packed.hg
364 6 files to transfer, 2.60 KB of data
378 6 files to transfer, 2.60 KB of data
365 pretxnopen: 000000000000
379 pretxnopen: 000000000000
366 pretxnclose: aa35859c02ea
380 pretxnclose: aa35859c02ea
367 transferred 2.60 KB in *.* seconds (* */sec) (glob)
381 transferred 2.60 KB in *.* seconds (* */sec) (glob)
368 txnclose: aa35859c02ea
382 txnclose: aa35859c02ea
369
383
370 (for safety, confirm visibility of streamclone-ed changes by another
384 (for safety, confirm visibility of streamclone-ed changes by another
371 process, too)
385 process, too)
372
386
373 $ hg -R packed tip -T "{node|short}\n"
387 $ hg -R packed tip -T "{node|short}\n"
374 aa35859c02ea
388 aa35859c02ea
375
389
376 $ cat >> $HGRCPATH <<EOF
390 $ cat >> $HGRCPATH <<EOF
377 > [extensions]
391 > [extensions]
378 > showtip = !
392 > showtip = !
379 > EOF
393 > EOF
380
394
381 Does not work on non-empty repo
395 Does not work on non-empty repo
382
396
383 $ hg -R packed debugapplystreamclonebundle packed.hg
397 $ hg -R packed debugapplystreamclonebundle packed.hg
384 abort: cannot apply stream clone bundle on non-empty repo
398 abort: cannot apply stream clone bundle on non-empty repo
385 [255]
399 [255]
386
400
387 #endif
401 #endif
388
402
389 Create partial clones
403 Create partial clones
390
404
391 $ rm -r empty
405 $ rm -r empty
392 $ hg init empty
406 $ hg init empty
393 $ hg clone -r 3 test partial
407 $ hg clone -r 3 test partial
394 adding changesets
408 adding changesets
395 adding manifests
409 adding manifests
396 adding file changes
410 adding file changes
397 added 4 changesets with 4 changes to 1 files
411 added 4 changesets with 4 changes to 1 files
398 new changesets f9ee2f85a263:eebf5a27f8ca
412 new changesets f9ee2f85a263:eebf5a27f8ca
399 updating to branch default
413 updating to branch default
400 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
414 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
401 $ hg clone partial partial2
415 $ hg clone partial partial2
402 updating to branch default
416 updating to branch default
403 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
417 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
404 $ cd partial
418 $ cd partial
405
419
406 #if repobundlerepo
420 #if repobundlerepo
407
421
408 Log -R full.hg in partial
422 Log -R full.hg in partial
409
423
410 $ hg -R bundle://../full.hg log -T phases
424 $ hg -R bundle://../full.hg log -T phases
411 changeset: 8:aa35859c02ea
425 changeset: 8:aa35859c02ea
412 tag: tip
426 tag: tip
413 phase: draft
427 phase: draft
414 parent: 3:eebf5a27f8ca
428 parent: 3:eebf5a27f8ca
415 user: test
429 user: test
416 date: Thu Jan 01 00:00:00 1970 +0000
430 date: Thu Jan 01 00:00:00 1970 +0000
417 summary: 0.3m
431 summary: 0.3m
418
432
419 changeset: 7:a6a34bfa0076
433 changeset: 7:a6a34bfa0076
420 phase: draft
434 phase: draft
421 user: test
435 user: test
422 date: Thu Jan 01 00:00:00 1970 +0000
436 date: Thu Jan 01 00:00:00 1970 +0000
423 summary: 1.3m
437 summary: 1.3m
424
438
425 changeset: 6:7373c1169842
439 changeset: 6:7373c1169842
426 phase: draft
440 phase: draft
427 user: test
441 user: test
428 date: Thu Jan 01 00:00:00 1970 +0000
442 date: Thu Jan 01 00:00:00 1970 +0000
429 summary: 1.3
443 summary: 1.3
430
444
431 changeset: 5:1bb50a9436a7
445 changeset: 5:1bb50a9436a7
432 phase: draft
446 phase: draft
433 user: test
447 user: test
434 date: Thu Jan 01 00:00:00 1970 +0000
448 date: Thu Jan 01 00:00:00 1970 +0000
435 summary: 1.2
449 summary: 1.2
436
450
437 changeset: 4:095197eb4973
451 changeset: 4:095197eb4973
438 phase: draft
452 phase: draft
439 parent: 0:f9ee2f85a263
453 parent: 0:f9ee2f85a263
440 user: test
454 user: test
441 date: Thu Jan 01 00:00:00 1970 +0000
455 date: Thu Jan 01 00:00:00 1970 +0000
442 summary: 1.1
456 summary: 1.1
443
457
444 changeset: 3:eebf5a27f8ca
458 changeset: 3:eebf5a27f8ca
445 phase: public
459 phase: public
446 user: test
460 user: test
447 date: Thu Jan 01 00:00:00 1970 +0000
461 date: Thu Jan 01 00:00:00 1970 +0000
448 summary: 0.3
462 summary: 0.3
449
463
450 changeset: 2:e38ba6f5b7e0
464 changeset: 2:e38ba6f5b7e0
451 phase: public
465 phase: public
452 user: test
466 user: test
453 date: Thu Jan 01 00:00:00 1970 +0000
467 date: Thu Jan 01 00:00:00 1970 +0000
454 summary: 0.2
468 summary: 0.2
455
469
456 changeset: 1:34c2bf6b0626
470 changeset: 1:34c2bf6b0626
457 phase: public
471 phase: public
458 user: test
472 user: test
459 date: Thu Jan 01 00:00:00 1970 +0000
473 date: Thu Jan 01 00:00:00 1970 +0000
460 summary: 0.1
474 summary: 0.1
461
475
462 changeset: 0:f9ee2f85a263
476 changeset: 0:f9ee2f85a263
463 phase: public
477 phase: public
464 user: test
478 user: test
465 date: Thu Jan 01 00:00:00 1970 +0000
479 date: Thu Jan 01 00:00:00 1970 +0000
466 summary: 0.0
480 summary: 0.0
467
481
468
482
469 Incoming full.hg in partial
483 Incoming full.hg in partial
470
484
471 $ hg incoming bundle://../full.hg
485 $ hg incoming bundle://../full.hg
472 comparing with bundle:../full.hg
486 comparing with bundle:../full.hg
473 searching for changes
487 searching for changes
474 changeset: 4:095197eb4973
488 changeset: 4:095197eb4973
475 parent: 0:f9ee2f85a263
489 parent: 0:f9ee2f85a263
476 user: test
490 user: test
477 date: Thu Jan 01 00:00:00 1970 +0000
491 date: Thu Jan 01 00:00:00 1970 +0000
478 summary: 1.1
492 summary: 1.1
479
493
480 changeset: 5:1bb50a9436a7
494 changeset: 5:1bb50a9436a7
481 user: test
495 user: test
482 date: Thu Jan 01 00:00:00 1970 +0000
496 date: Thu Jan 01 00:00:00 1970 +0000
483 summary: 1.2
497 summary: 1.2
484
498
485 changeset: 6:7373c1169842
499 changeset: 6:7373c1169842
486 user: test
500 user: test
487 date: Thu Jan 01 00:00:00 1970 +0000
501 date: Thu Jan 01 00:00:00 1970 +0000
488 summary: 1.3
502 summary: 1.3
489
503
490 changeset: 7:a6a34bfa0076
504 changeset: 7:a6a34bfa0076
491 user: test
505 user: test
492 date: Thu Jan 01 00:00:00 1970 +0000
506 date: Thu Jan 01 00:00:00 1970 +0000
493 summary: 1.3m
507 summary: 1.3m
494
508
495 changeset: 8:aa35859c02ea
509 changeset: 8:aa35859c02ea
496 tag: tip
510 tag: tip
497 parent: 3:eebf5a27f8ca
511 parent: 3:eebf5a27f8ca
498 user: test
512 user: test
499 date: Thu Jan 01 00:00:00 1970 +0000
513 date: Thu Jan 01 00:00:00 1970 +0000
500 summary: 0.3m
514 summary: 0.3m
501
515
502
516
503 Outgoing -R full.hg vs partial2 in partial
517 Outgoing -R full.hg vs partial2 in partial
504
518
505 $ hg -R bundle://../full.hg outgoing ../partial2
519 $ hg -R bundle://../full.hg outgoing ../partial2
506 comparing with ../partial2
520 comparing with ../partial2
507 searching for changes
521 searching for changes
508 changeset: 4:095197eb4973
522 changeset: 4:095197eb4973
509 parent: 0:f9ee2f85a263
523 parent: 0:f9ee2f85a263
510 user: test
524 user: test
511 date: Thu Jan 01 00:00:00 1970 +0000
525 date: Thu Jan 01 00:00:00 1970 +0000
512 summary: 1.1
526 summary: 1.1
513
527
514 changeset: 5:1bb50a9436a7
528 changeset: 5:1bb50a9436a7
515 user: test
529 user: test
516 date: Thu Jan 01 00:00:00 1970 +0000
530 date: Thu Jan 01 00:00:00 1970 +0000
517 summary: 1.2
531 summary: 1.2
518
532
519 changeset: 6:7373c1169842
533 changeset: 6:7373c1169842
520 user: test
534 user: test
521 date: Thu Jan 01 00:00:00 1970 +0000
535 date: Thu Jan 01 00:00:00 1970 +0000
522 summary: 1.3
536 summary: 1.3
523
537
524 changeset: 7:a6a34bfa0076
538 changeset: 7:a6a34bfa0076
525 user: test
539 user: test
526 date: Thu Jan 01 00:00:00 1970 +0000
540 date: Thu Jan 01 00:00:00 1970 +0000
527 summary: 1.3m
541 summary: 1.3m
528
542
529 changeset: 8:aa35859c02ea
543 changeset: 8:aa35859c02ea
530 tag: tip
544 tag: tip
531 parent: 3:eebf5a27f8ca
545 parent: 3:eebf5a27f8ca
532 user: test
546 user: test
533 date: Thu Jan 01 00:00:00 1970 +0000
547 date: Thu Jan 01 00:00:00 1970 +0000
534 summary: 0.3m
548 summary: 0.3m
535
549
536
550
537 Outgoing -R does-not-exist.hg vs partial2 in partial
551 Outgoing -R does-not-exist.hg vs partial2 in partial
538
552
539 $ hg -R bundle://../does-not-exist.hg outgoing ../partial2
553 $ hg -R bundle://../does-not-exist.hg outgoing ../partial2
540 abort: *../does-not-exist.hg* (glob)
554 abort: *../does-not-exist.hg* (glob)
541 [255]
555 [255]
542
556
543 #endif
557 #endif
544
558
545 $ cd ..
559 $ cd ..
546
560
547 hide outer repo
561 hide outer repo
548 $ hg init
562 $ hg init
549
563
550 Direct clone from bundle (all-history)
564 Direct clone from bundle (all-history)
551
565
552 #if repobundlerepo
566 #if repobundlerepo
553
567
554 $ hg clone full.hg full-clone
568 $ hg clone full.hg full-clone
555 requesting all changes
569 requesting all changes
556 adding changesets
570 adding changesets
557 adding manifests
571 adding manifests
558 adding file changes
572 adding file changes
559 added 9 changesets with 7 changes to 4 files (+1 heads)
573 added 9 changesets with 7 changes to 4 files (+1 heads)
560 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
574 new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
561 updating to branch default
575 updating to branch default
562 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
576 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
563 $ hg -R full-clone heads
577 $ hg -R full-clone heads
564 changeset: 8:aa35859c02ea
578 changeset: 8:aa35859c02ea
565 tag: tip
579 tag: tip
566 parent: 3:eebf5a27f8ca
580 parent: 3:eebf5a27f8ca
567 user: test
581 user: test
568 date: Thu Jan 01 00:00:00 1970 +0000
582 date: Thu Jan 01 00:00:00 1970 +0000
569 summary: 0.3m
583 summary: 0.3m
570
584
571 changeset: 7:a6a34bfa0076
585 changeset: 7:a6a34bfa0076
572 user: test
586 user: test
573 date: Thu Jan 01 00:00:00 1970 +0000
587 date: Thu Jan 01 00:00:00 1970 +0000
574 summary: 1.3m
588 summary: 1.3m
575
589
576 $ rm -r full-clone
590 $ rm -r full-clone
577
591
578 When cloning from a non-copiable repository into '', do not
592 When cloning from a non-copiable repository into '', do not
579 recurse infinitely (issue2528)
593 recurse infinitely (issue2528)
580
594
581 $ hg clone full.hg ''
595 $ hg clone full.hg ''
582 abort: empty destination path is not valid
596 abort: empty destination path is not valid
583 [255]
597 [255]
584
598
585 test for https://bz.mercurial-scm.org/216
599 test for https://bz.mercurial-scm.org/216
586
600
587 Unbundle incremental bundles into fresh empty in one go
601 Unbundle incremental bundles into fresh empty in one go
588
602
589 $ rm -r empty
603 $ rm -r empty
590 $ hg init empty
604 $ hg init empty
591 $ hg -R test bundle --base null -r 0 ../0.hg
605 $ hg -R test bundle --base null -r 0 ../0.hg
592 1 changesets found
606 1 changesets found
593 $ hg -R test bundle --base 0 -r 1 ../1.hg
607 $ hg -R test bundle --base 0 -r 1 ../1.hg
594 1 changesets found
608 1 changesets found
595 $ hg -R empty unbundle -u ../0.hg ../1.hg
609 $ hg -R empty unbundle -u ../0.hg ../1.hg
596 adding changesets
610 adding changesets
597 adding manifests
611 adding manifests
598 adding file changes
612 adding file changes
599 added 1 changesets with 1 changes to 1 files
613 added 1 changesets with 1 changes to 1 files
600 new changesets f9ee2f85a263 (1 drafts)
614 new changesets f9ee2f85a263 (1 drafts)
601 adding changesets
615 adding changesets
602 adding manifests
616 adding manifests
603 adding file changes
617 adding file changes
604 added 1 changesets with 1 changes to 1 files
618 added 1 changesets with 1 changes to 1 files
605 new changesets 34c2bf6b0626 (1 drafts)
619 new changesets 34c2bf6b0626 (1 drafts)
606 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
620 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
607
621
608 View full contents of the bundle
622 View full contents of the bundle
609 $ hg -R test bundle --base null -r 3 ../partial.hg
623 $ hg -R test bundle --base null -r 3 ../partial.hg
610 4 changesets found
624 4 changesets found
611 $ cd test
625 $ cd test
612 $ hg -R ../../partial.hg log -r "bundle()"
626 $ hg -R ../../partial.hg log -r "bundle()"
613 changeset: 0:f9ee2f85a263
627 changeset: 0:f9ee2f85a263
614 user: test
628 user: test
615 date: Thu Jan 01 00:00:00 1970 +0000
629 date: Thu Jan 01 00:00:00 1970 +0000
616 summary: 0.0
630 summary: 0.0
617
631
618 changeset: 1:34c2bf6b0626
632 changeset: 1:34c2bf6b0626
619 user: test
633 user: test
620 date: Thu Jan 01 00:00:00 1970 +0000
634 date: Thu Jan 01 00:00:00 1970 +0000
621 summary: 0.1
635 summary: 0.1
622
636
623 changeset: 2:e38ba6f5b7e0
637 changeset: 2:e38ba6f5b7e0
624 user: test
638 user: test
625 date: Thu Jan 01 00:00:00 1970 +0000
639 date: Thu Jan 01 00:00:00 1970 +0000
626 summary: 0.2
640 summary: 0.2
627
641
628 changeset: 3:eebf5a27f8ca
642 changeset: 3:eebf5a27f8ca
629 user: test
643 user: test
630 date: Thu Jan 01 00:00:00 1970 +0000
644 date: Thu Jan 01 00:00:00 1970 +0000
631 summary: 0.3
645 summary: 0.3
632
646
633 $ cd ..
647 $ cd ..
634
648
635 #endif
649 #endif
636
650
637 test for 540d1059c802
651 test for 540d1059c802
638
652
639 $ hg init orig
653 $ hg init orig
640 $ cd orig
654 $ cd orig
641 $ echo foo > foo
655 $ echo foo > foo
642 $ hg add foo
656 $ hg add foo
643 $ hg ci -m 'add foo'
657 $ hg ci -m 'add foo'
644
658
645 $ hg clone . ../copy
659 $ hg clone . ../copy
646 updating to branch default
660 updating to branch default
647 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
661 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
648 $ hg tag foo
662 $ hg tag foo
649
663
650 $ cd ../copy
664 $ cd ../copy
651 $ echo >> foo
665 $ echo >> foo
652 $ hg ci -m 'change foo'
666 $ hg ci -m 'change foo'
653 $ hg bundle ../bundle.hg ../orig
667 $ hg bundle ../bundle.hg ../orig
654 searching for changes
668 searching for changes
655 1 changesets found
669 1 changesets found
656
670
657 $ cd ..
671 $ cd ..
658
672
659 #if repobundlerepo
673 #if repobundlerepo
660 $ cd orig
674 $ cd orig
661 $ hg incoming ../bundle.hg
675 $ hg incoming ../bundle.hg
662 comparing with ../bundle.hg
676 comparing with ../bundle.hg
663 searching for changes
677 searching for changes
664 changeset: 2:ed1b79f46b9a
678 changeset: 2:ed1b79f46b9a
665 tag: tip
679 tag: tip
666 parent: 0:bbd179dfa0a7
680 parent: 0:bbd179dfa0a7
667 user: test
681 user: test
668 date: Thu Jan 01 00:00:00 1970 +0000
682 date: Thu Jan 01 00:00:00 1970 +0000
669 summary: change foo
683 summary: change foo
670
684
671 $ cd ..
685 $ cd ..
672
686
673 test bundle with # in the filename (issue2154):
687 test bundle with # in the filename (issue2154):
674
688
675 $ cp bundle.hg 'test#bundle.hg'
689 $ cp bundle.hg 'test#bundle.hg'
676 $ cd orig
690 $ cd orig
677 $ hg incoming '../test#bundle.hg'
691 $ hg incoming '../test#bundle.hg'
678 comparing with ../test
692 comparing with ../test
679 abort: unknown revision 'bundle.hg'!
693 abort: unknown revision 'bundle.hg'!
680 [255]
694 [255]
681
695
682 note that percent encoding is not handled:
696 note that percent encoding is not handled:
683
697
684 $ hg incoming ../test%23bundle.hg
698 $ hg incoming ../test%23bundle.hg
685 abort: repository ../test%23bundle.hg not found!
699 abort: repository ../test%23bundle.hg not found!
686 [255]
700 [255]
687 $ cd ..
701 $ cd ..
688
702
689 #endif
703 #endif
690
704
691 test to bundle revisions on the newly created branch (issue3828):
705 test to bundle revisions on the newly created branch (issue3828):
692
706
693 $ hg -q clone -U test test-clone
707 $ hg -q clone -U test test-clone
694 $ cd test
708 $ cd test
695
709
696 $ hg -q branch foo
710 $ hg -q branch foo
697 $ hg commit -m "create foo branch"
711 $ hg commit -m "create foo branch"
698 $ hg -q outgoing ../test-clone
712 $ hg -q outgoing ../test-clone
699 9:b4f5acb1ee27
713 9:b4f5acb1ee27
700 $ hg -q bundle --branch foo foo.hg ../test-clone
714 $ hg -q bundle --branch foo foo.hg ../test-clone
701 #if repobundlerepo
715 #if repobundlerepo
702 $ hg -R foo.hg -q log -r "bundle()"
716 $ hg -R foo.hg -q log -r "bundle()"
703 9:b4f5acb1ee27
717 9:b4f5acb1ee27
704 #endif
718 #endif
705
719
706 $ cd ..
720 $ cd ..
707
721
708 test for https://bz.mercurial-scm.org/1144
722 test for https://bz.mercurial-scm.org/1144
709
723
710 test that verify bundle does not traceback
724 test that verify bundle does not traceback
711
725
712 partial history bundle, fails w/ unknown parent
726 partial history bundle, fails w/ unknown parent
713
727
714 $ hg -R bundle.hg verify
728 $ hg -R bundle.hg verify
715 abort: 00changelog.i@bbd179dfa0a7: unknown parent!
729 abort: 00changelog.i@bbd179dfa0a7: unknown parent!
716 [255]
730 [255]
717
731
718 full history bundle, refuses to verify non-local repo
732 full history bundle, refuses to verify non-local repo
719
733
720 #if repobundlerepo
734 #if repobundlerepo
721 $ hg -R all.hg verify
735 $ hg -R all.hg verify
722 abort: cannot verify bundle or remote repos
736 abort: cannot verify bundle or remote repos
723 [255]
737 [255]
724 #endif
738 #endif
725
739
726 but, regular verify must continue to work
740 but, regular verify must continue to work
727
741
728 $ hg -R orig verify
742 $ hg -R orig verify
729 checking changesets
743 checking changesets
730 checking manifests
744 checking manifests
731 crosschecking files in changesets and manifests
745 crosschecking files in changesets and manifests
732 checking files
746 checking files
733 checked 2 changesets with 2 changes to 2 files
747 checked 2 changesets with 2 changes to 2 files
734
748
735 #if repobundlerepo
749 #if repobundlerepo
736 diff against bundle
750 diff against bundle
737
751
738 $ hg init b
752 $ hg init b
739 $ cd b
753 $ cd b
740 $ hg -R ../all.hg diff -r tip
754 $ hg -R ../all.hg diff -r tip
741 diff -r aa35859c02ea anotherfile
755 diff -r aa35859c02ea anotherfile
742 --- a/anotherfile Thu Jan 01 00:00:00 1970 +0000
756 --- a/anotherfile Thu Jan 01 00:00:00 1970 +0000
743 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
757 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
744 @@ -1,4 +0,0 @@
758 @@ -1,4 +0,0 @@
745 -0
759 -0
746 -1
760 -1
747 -2
761 -2
748 -3
762 -3
749 $ cd ..
763 $ cd ..
750 #endif
764 #endif
751
765
752 bundle single branch
766 bundle single branch
753
767
754 $ hg init branchy
768 $ hg init branchy
755 $ cd branchy
769 $ cd branchy
756 $ echo a >a
770 $ echo a >a
757 $ echo x >x
771 $ echo x >x
758 $ hg ci -Ama
772 $ hg ci -Ama
759 adding a
773 adding a
760 adding x
774 adding x
761 $ echo c >c
775 $ echo c >c
762 $ echo xx >x
776 $ echo xx >x
763 $ hg ci -Amc
777 $ hg ci -Amc
764 adding c
778 adding c
765 $ echo c1 >c1
779 $ echo c1 >c1
766 $ hg ci -Amc1
780 $ hg ci -Amc1
767 adding c1
781 adding c1
768 $ hg up 0
782 $ hg up 0
769 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
783 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
770 $ echo b >b
784 $ echo b >b
771 $ hg ci -Amb
785 $ hg ci -Amb
772 adding b
786 adding b
773 created new head
787 created new head
774 $ echo b1 >b1
788 $ echo b1 >b1
775 $ echo xx >x
789 $ echo xx >x
776 $ hg ci -Amb1
790 $ hg ci -Amb1
777 adding b1
791 adding b1
778 $ hg clone -q -r2 . part
792 $ hg clone -q -r2 . part
779
793
780 == bundling via incoming
794 == bundling via incoming
781
795
782 $ hg in -R part --bundle incoming.hg --template "{node}\n" .
796 $ hg in -R part --bundle incoming.hg --template "{node}\n" .
783 comparing with .
797 comparing with .
784 searching for changes
798 searching for changes
785 1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
799 1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
786 057f4db07f61970e1c11e83be79e9d08adc4dc31
800 057f4db07f61970e1c11e83be79e9d08adc4dc31
787
801
788 == bundling
802 == bundling
789
803
790 $ hg bundle bundle.hg part --debug --config progress.debug=true
804 $ hg bundle bundle.hg part --debug --config progress.debug=true
791 query 1; heads
805 query 1; heads
792 searching for changes
806 searching for changes
793 all remote heads known locally
807 all remote heads known locally
794 2 changesets found
808 2 changesets found
795 list of changesets:
809 list of changesets:
796 1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
810 1a38c1b849e8b70c756d2d80b0b9a3ac0b7ea11a
797 057f4db07f61970e1c11e83be79e9d08adc4dc31
811 057f4db07f61970e1c11e83be79e9d08adc4dc31
798 bundle2-output-bundle: "HG20", (1 params) 2 parts total
812 bundle2-output-bundle: "HG20", (1 params) 2 parts total
799 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
813 bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
800 changesets: 1/2 chunks (50.00%)
814 changesets: 1/2 chunks (50.00%)
801 changesets: 2/2 chunks (100.00%)
815 changesets: 2/2 chunks (100.00%)
802 manifests: 1/2 chunks (50.00%)
816 manifests: 1/2 chunks (50.00%)
803 manifests: 2/2 chunks (100.00%)
817 manifests: 2/2 chunks (100.00%)
804 files: b 1/3 files (33.33%)
818 files: b 1/3 files (33.33%)
805 files: b1 2/3 files (66.67%)
819 files: b1 2/3 files (66.67%)
806 files: x 3/3 files (100.00%)
820 files: x 3/3 files (100.00%)
807 bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
821 bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
808
822
809 #if repobundlerepo
823 #if repobundlerepo
810 == Test for issue3441
824 == Test for issue3441
811
825
812 $ hg clone -q -r0 . part2
826 $ hg clone -q -r0 . part2
813 $ hg -q -R part2 pull bundle.hg
827 $ hg -q -R part2 pull bundle.hg
814 $ hg -R part2 verify
828 $ hg -R part2 verify
815 checking changesets
829 checking changesets
816 checking manifests
830 checking manifests
817 crosschecking files in changesets and manifests
831 crosschecking files in changesets and manifests
818 checking files
832 checking files
819 checked 3 changesets with 5 changes to 4 files
833 checked 3 changesets with 5 changes to 4 files
820 #endif
834 #endif
821
835
822 == Test bundling no commits
836 == Test bundling no commits
823
837
824 $ hg bundle -r 'public()' no-output.hg
838 $ hg bundle -r 'public()' no-output.hg
825 abort: no commits to bundle
839 abort: no commits to bundle
826 [255]
840 [255]
827
841
828 $ cd ..
842 $ cd ..
829
843
830 When user merges to the revision existing only in the bundle,
844 When user merges to the revision existing only in the bundle,
831 it should show warning that second parent of the working
845 it should show warning that second parent of the working
832 directory does not exist
846 directory does not exist
833
847
834 $ hg init update2bundled
848 $ hg init update2bundled
835 $ cd update2bundled
849 $ cd update2bundled
836 $ cat <<EOF >> .hg/hgrc
850 $ cat <<EOF >> .hg/hgrc
837 > [extensions]
851 > [extensions]
838 > strip =
852 > strip =
839 > EOF
853 > EOF
840 $ echo "aaa" >> a
854 $ echo "aaa" >> a
841 $ hg commit -A -m 0
855 $ hg commit -A -m 0
842 adding a
856 adding a
843 $ echo "bbb" >> b
857 $ echo "bbb" >> b
844 $ hg commit -A -m 1
858 $ hg commit -A -m 1
845 adding b
859 adding b
846 $ echo "ccc" >> c
860 $ echo "ccc" >> c
847 $ hg commit -A -m 2
861 $ hg commit -A -m 2
848 adding c
862 adding c
849 $ hg update -r 1
863 $ hg update -r 1
850 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
864 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
851 $ echo "ddd" >> d
865 $ echo "ddd" >> d
852 $ hg commit -A -m 3
866 $ hg commit -A -m 3
853 adding d
867 adding d
854 created new head
868 created new head
855 $ hg update -r 2
869 $ hg update -r 2
856 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
870 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
857 $ hg log -G
871 $ hg log -G
858 o changeset: 3:8bd3e1f196af
872 o changeset: 3:8bd3e1f196af
859 | tag: tip
873 | tag: tip
860 | parent: 1:a01eca7af26d
874 | parent: 1:a01eca7af26d
861 | user: test
875 | user: test
862 | date: Thu Jan 01 00:00:00 1970 +0000
876 | date: Thu Jan 01 00:00:00 1970 +0000
863 | summary: 3
877 | summary: 3
864 |
878 |
865 | @ changeset: 2:4652c276ac4f
879 | @ changeset: 2:4652c276ac4f
866 |/ user: test
880 |/ user: test
867 | date: Thu Jan 01 00:00:00 1970 +0000
881 | date: Thu Jan 01 00:00:00 1970 +0000
868 | summary: 2
882 | summary: 2
869 |
883 |
870 o changeset: 1:a01eca7af26d
884 o changeset: 1:a01eca7af26d
871 | user: test
885 | user: test
872 | date: Thu Jan 01 00:00:00 1970 +0000
886 | date: Thu Jan 01 00:00:00 1970 +0000
873 | summary: 1
887 | summary: 1
874 |
888 |
875 o changeset: 0:4fe08cd4693e
889 o changeset: 0:4fe08cd4693e
876 user: test
890 user: test
877 date: Thu Jan 01 00:00:00 1970 +0000
891 date: Thu Jan 01 00:00:00 1970 +0000
878 summary: 0
892 summary: 0
879
893
880
894
881 #if repobundlerepo
895 #if repobundlerepo
882 $ hg bundle --base 1 -r 3 ../update2bundled.hg
896 $ hg bundle --base 1 -r 3 ../update2bundled.hg
883 1 changesets found
897 1 changesets found
884 $ hg strip -r 3
898 $ hg strip -r 3
885 saved backup bundle to $TESTTMP/update2bundled/.hg/strip-backup/8bd3e1f196af-017e56d8-backup.hg
899 saved backup bundle to $TESTTMP/update2bundled/.hg/strip-backup/8bd3e1f196af-017e56d8-backup.hg
886 $ hg merge -R ../update2bundled.hg -r 3
900 $ hg merge -R ../update2bundled.hg -r 3
887 setting parent to node 8bd3e1f196af289b2b121be08031e76d7ae92098 that only exists in the bundle
901 setting parent to node 8bd3e1f196af289b2b121be08031e76d7ae92098 that only exists in the bundle
888 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
902 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
889 (branch merge, don't forget to commit)
903 (branch merge, don't forget to commit)
890
904
891 When user updates to the revision existing only in the bundle,
905 When user updates to the revision existing only in the bundle,
892 it should show warning
906 it should show warning
893
907
894 $ hg update -R ../update2bundled.hg --clean -r 3
908 $ hg update -R ../update2bundled.hg --clean -r 3
895 setting parent to node 8bd3e1f196af289b2b121be08031e76d7ae92098 that only exists in the bundle
909 setting parent to node 8bd3e1f196af289b2b121be08031e76d7ae92098 that only exists in the bundle
896 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
910 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
897
911
898 When user updates to the revision existing in the local repository
912 When user updates to the revision existing in the local repository
899 the warning shouldn't be emitted
913 the warning shouldn't be emitted
900
914
901 $ hg update -R ../update2bundled.hg -r 0
915 $ hg update -R ../update2bundled.hg -r 0
902 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
916 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
903 #endif
917 #endif
904
918
905 Test the option that create slim bundle
919 Test the option that create slim bundle
906
920
907 $ hg bundle -a --config devel.bundle.delta=p1 ./slim.hg
921 $ hg bundle -a --config devel.bundle.delta=p1 ./slim.hg
908 3 changesets found
922 3 changesets found
909
923
910 Test the option that create and no-delta's bundle
924 Test the option that create and no-delta's bundle
911 $ hg bundle -a --config devel.bundle.delta=full ./full.hg
925 $ hg bundle -a --config devel.bundle.delta=full ./full.hg
912 3 changesets found
926 3 changesets found
General Comments 0
You need to be logged in to leave comments. Login now