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