##// END OF EJS Templates
test: update test-clone-stream.t to pass on bigendian...
Julien Cristau -
r49824:4a8eff64 stable
parent child Browse files
Show More
@@ -1,819 +1,819 b''
1 #require serve no-reposimplestore no-chg
1 #require serve no-reposimplestore no-chg
2
2
3 #testcases stream-legacy stream-bundle2
3 #testcases stream-legacy stream-bundle2
4
4
5 #if stream-legacy
5 #if stream-legacy
6 $ cat << EOF >> $HGRCPATH
6 $ cat << EOF >> $HGRCPATH
7 > [server]
7 > [server]
8 > bundle2.stream = no
8 > bundle2.stream = no
9 > EOF
9 > EOF
10 #endif
10 #endif
11
11
12 Initialize repository
12 Initialize repository
13
13
14 $ hg init server
14 $ hg init server
15 $ cd server
15 $ cd server
16 $ sh $TESTDIR/testlib/stream_clone_setup.sh
16 $ sh $TESTDIR/testlib/stream_clone_setup.sh
17 adding 00changelog-ab349180a0405010.nd
17 adding 00changelog-ab349180a0405010.nd
18 adding 00changelog.d
18 adding 00changelog.d
19 adding 00changelog.i
19 adding 00changelog.i
20 adding 00changelog.n
20 adding 00changelog.n
21 adding 00manifest.d
21 adding 00manifest.d
22 adding 00manifest.i
22 adding 00manifest.i
23 adding container/isam-build-centos7/bazel-coverage-generator-sandboxfs-compatibility-0758e3e4f6057904d44399bd666faba9e7f40686.patch
23 adding container/isam-build-centos7/bazel-coverage-generator-sandboxfs-compatibility-0758e3e4f6057904d44399bd666faba9e7f40686.patch
24 adding data/foo.d
24 adding data/foo.d
25 adding data/foo.i
25 adding data/foo.i
26 adding data/foo.n
26 adding data/foo.n
27 adding data/undo.babar
27 adding data/undo.babar
28 adding data/undo.d
28 adding data/undo.d
29 adding data/undo.foo.d
29 adding data/undo.foo.d
30 adding data/undo.foo.i
30 adding data/undo.foo.i
31 adding data/undo.foo.n
31 adding data/undo.foo.n
32 adding data/undo.i
32 adding data/undo.i
33 adding data/undo.n
33 adding data/undo.n
34 adding data/undo.py
34 adding data/undo.py
35 adding foo.d
35 adding foo.d
36 adding foo.i
36 adding foo.i
37 adding foo.n
37 adding foo.n
38 adding meta/foo.d
38 adding meta/foo.d
39 adding meta/foo.i
39 adding meta/foo.i
40 adding meta/foo.n
40 adding meta/foo.n
41 adding meta/undo.babar
41 adding meta/undo.babar
42 adding meta/undo.d
42 adding meta/undo.d
43 adding meta/undo.foo.d
43 adding meta/undo.foo.d
44 adding meta/undo.foo.i
44 adding meta/undo.foo.i
45 adding meta/undo.foo.n
45 adding meta/undo.foo.n
46 adding meta/undo.i
46 adding meta/undo.i
47 adding meta/undo.n
47 adding meta/undo.n
48 adding meta/undo.py
48 adding meta/undo.py
49 adding savanah/foo.d
49 adding savanah/foo.d
50 adding savanah/foo.i
50 adding savanah/foo.i
51 adding savanah/foo.n
51 adding savanah/foo.n
52 adding savanah/undo.babar
52 adding savanah/undo.babar
53 adding savanah/undo.d
53 adding savanah/undo.d
54 adding savanah/undo.foo.d
54 adding savanah/undo.foo.d
55 adding savanah/undo.foo.i
55 adding savanah/undo.foo.i
56 adding savanah/undo.foo.n
56 adding savanah/undo.foo.n
57 adding savanah/undo.i
57 adding savanah/undo.i
58 adding savanah/undo.n
58 adding savanah/undo.n
59 adding savanah/undo.py
59 adding savanah/undo.py
60 adding store/C\xc3\xa9lesteVille_is_a_Capital_City (esc)
60 adding store/C\xc3\xa9lesteVille_is_a_Capital_City (esc)
61 adding store/foo.d
61 adding store/foo.d
62 adding store/foo.i
62 adding store/foo.i
63 adding store/foo.n
63 adding store/foo.n
64 adding store/undo.babar
64 adding store/undo.babar
65 adding store/undo.d
65 adding store/undo.d
66 adding store/undo.foo.d
66 adding store/undo.foo.d
67 adding store/undo.foo.i
67 adding store/undo.foo.i
68 adding store/undo.foo.n
68 adding store/undo.foo.n
69 adding store/undo.i
69 adding store/undo.i
70 adding store/undo.n
70 adding store/undo.n
71 adding store/undo.py
71 adding store/undo.py
72 adding undo.babar
72 adding undo.babar
73 adding undo.d
73 adding undo.d
74 adding undo.foo.d
74 adding undo.foo.d
75 adding undo.foo.i
75 adding undo.foo.i
76 adding undo.foo.n
76 adding undo.foo.n
77 adding undo.i
77 adding undo.i
78 adding undo.n
78 adding undo.n
79 adding undo.py
79 adding undo.py
80
80
81 $ hg --config server.uncompressed=false serve -p $HGPORT -d --pid-file=hg.pid
81 $ hg --config server.uncompressed=false serve -p $HGPORT -d --pid-file=hg.pid
82 $ cat hg.pid > $DAEMON_PIDS
82 $ cat hg.pid > $DAEMON_PIDS
83 $ cd ..
83 $ cd ..
84
84
85 Check local clone
85 Check local clone
86 ==================
86 ==================
87
87
88 The logic is close enough of uncompressed.
88 The logic is close enough of uncompressed.
89 This is present here to reuse the testing around file with "special" names.
89 This is present here to reuse the testing around file with "special" names.
90
90
91 $ hg clone server local-clone
91 $ hg clone server local-clone
92 updating to branch default
92 updating to branch default
93 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
93 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
94
94
95 Check that the clone went well
95 Check that the clone went well
96
96
97 $ hg verify -R local-clone
97 $ hg verify -R local-clone
98 checking changesets
98 checking changesets
99 checking manifests
99 checking manifests
100 crosschecking files in changesets and manifests
100 crosschecking files in changesets and manifests
101 checking files
101 checking files
102 checked 3 changesets with 1088 changes to 1088 files
102 checked 3 changesets with 1088 changes to 1088 files
103
103
104 Check uncompressed
104 Check uncompressed
105 ==================
105 ==================
106
106
107 Cannot stream clone when server.uncompressed is set
107 Cannot stream clone when server.uncompressed is set
108
108
109 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out'
109 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out'
110 200 Script output follows
110 200 Script output follows
111
111
112 1
112 1
113
113
114 #if stream-legacy
114 #if stream-legacy
115 $ hg debugcapabilities http://localhost:$HGPORT
115 $ hg debugcapabilities http://localhost:$HGPORT
116 Main capabilities:
116 Main capabilities:
117 batch
117 batch
118 branchmap
118 branchmap
119 $USUAL_BUNDLE2_CAPS_SERVER$
119 $USUAL_BUNDLE2_CAPS_SERVER$
120 changegroupsubset
120 changegroupsubset
121 compression=$BUNDLE2_COMPRESSIONS$
121 compression=$BUNDLE2_COMPRESSIONS$
122 getbundle
122 getbundle
123 httpheader=1024
123 httpheader=1024
124 httpmediatype=0.1rx,0.1tx,0.2tx
124 httpmediatype=0.1rx,0.1tx,0.2tx
125 known
125 known
126 lookup
126 lookup
127 pushkey
127 pushkey
128 unbundle=HG10GZ,HG10BZ,HG10UN
128 unbundle=HG10GZ,HG10BZ,HG10UN
129 unbundlehash
129 unbundlehash
130 Bundle2 capabilities:
130 Bundle2 capabilities:
131 HG20
131 HG20
132 bookmarks
132 bookmarks
133 changegroup
133 changegroup
134 01
134 01
135 02
135 02
136 checkheads
136 checkheads
137 related
137 related
138 digests
138 digests
139 md5
139 md5
140 sha1
140 sha1
141 sha512
141 sha512
142 error
142 error
143 abort
143 abort
144 unsupportedcontent
144 unsupportedcontent
145 pushraced
145 pushraced
146 pushkey
146 pushkey
147 hgtagsfnodes
147 hgtagsfnodes
148 listkeys
148 listkeys
149 phases
149 phases
150 heads
150 heads
151 pushkey
151 pushkey
152 remote-changegroup
152 remote-changegroup
153 http
153 http
154 https
154 https
155
155
156 $ hg clone --stream -U http://localhost:$HGPORT server-disabled
156 $ hg clone --stream -U http://localhost:$HGPORT server-disabled
157 warning: stream clone requested but server has them disabled
157 warning: stream clone requested but server has them disabled
158 requesting all changes
158 requesting all changes
159 adding changesets
159 adding changesets
160 adding manifests
160 adding manifests
161 adding file changes
161 adding file changes
162 added 3 changesets with 1088 changes to 1088 files
162 added 3 changesets with 1088 changes to 1088 files
163 new changesets 96ee1d7354c4:5223b5e3265f
163 new changesets 96ee1d7354c4:5223b5e3265f
164
164
165 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
165 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
166 200 Script output follows
166 200 Script output follows
167 content-type: application/mercurial-0.2
167 content-type: application/mercurial-0.2
168
168
169
169
170 $ f --size body --hexdump --bytes 100
170 $ f --size body --hexdump --bytes 100
171 body: size=232
171 body: size=232
172 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
172 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
173 0010: cf 0b 45 52 52 4f 52 3a 41 42 4f 52 54 00 00 00 |..ERROR:ABORT...|
173 0010: cf 0b 45 52 52 4f 52 3a 41 42 4f 52 54 00 00 00 |..ERROR:ABORT...|
174 0020: 00 01 01 07 3c 04 72 6d 65 73 73 61 67 65 73 74 |....<.rmessagest|
174 0020: 00 01 01 07 3c 04 72 6d 65 73 73 61 67 65 73 74 |....<.rmessagest|
175 0030: 72 65 61 6d 20 64 61 74 61 20 72 65 71 75 65 73 |ream data reques|
175 0030: 72 65 61 6d 20 64 61 74 61 20 72 65 71 75 65 73 |ream data reques|
176 0040: 74 65 64 20 62 75 74 20 73 65 72 76 65 72 20 64 |ted but server d|
176 0040: 74 65 64 20 62 75 74 20 73 65 72 76 65 72 20 64 |ted but server d|
177 0050: 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 |oes not allow th|
177 0050: 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 |oes not allow th|
178 0060: 69 73 20 66 |is f|
178 0060: 69 73 20 66 |is f|
179
179
180 #endif
180 #endif
181 #if stream-bundle2
181 #if stream-bundle2
182 $ hg debugcapabilities http://localhost:$HGPORT
182 $ hg debugcapabilities http://localhost:$HGPORT
183 Main capabilities:
183 Main capabilities:
184 batch
184 batch
185 branchmap
185 branchmap
186 $USUAL_BUNDLE2_CAPS_SERVER$
186 $USUAL_BUNDLE2_CAPS_SERVER$
187 changegroupsubset
187 changegroupsubset
188 compression=$BUNDLE2_COMPRESSIONS$
188 compression=$BUNDLE2_COMPRESSIONS$
189 getbundle
189 getbundle
190 httpheader=1024
190 httpheader=1024
191 httpmediatype=0.1rx,0.1tx,0.2tx
191 httpmediatype=0.1rx,0.1tx,0.2tx
192 known
192 known
193 lookup
193 lookup
194 pushkey
194 pushkey
195 unbundle=HG10GZ,HG10BZ,HG10UN
195 unbundle=HG10GZ,HG10BZ,HG10UN
196 unbundlehash
196 unbundlehash
197 Bundle2 capabilities:
197 Bundle2 capabilities:
198 HG20
198 HG20
199 bookmarks
199 bookmarks
200 changegroup
200 changegroup
201 01
201 01
202 02
202 02
203 checkheads
203 checkheads
204 related
204 related
205 digests
205 digests
206 md5
206 md5
207 sha1
207 sha1
208 sha512
208 sha512
209 error
209 error
210 abort
210 abort
211 unsupportedcontent
211 unsupportedcontent
212 pushraced
212 pushraced
213 pushkey
213 pushkey
214 hgtagsfnodes
214 hgtagsfnodes
215 listkeys
215 listkeys
216 phases
216 phases
217 heads
217 heads
218 pushkey
218 pushkey
219 remote-changegroup
219 remote-changegroup
220 http
220 http
221 https
221 https
222
222
223 $ hg clone --stream -U http://localhost:$HGPORT server-disabled
223 $ hg clone --stream -U http://localhost:$HGPORT server-disabled
224 warning: stream clone requested but server has them disabled
224 warning: stream clone requested but server has them disabled
225 requesting all changes
225 requesting all changes
226 adding changesets
226 adding changesets
227 adding manifests
227 adding manifests
228 adding file changes
228 adding file changes
229 added 3 changesets with 1088 changes to 1088 files
229 added 3 changesets with 1088 changes to 1088 files
230 new changesets 96ee1d7354c4:5223b5e3265f
230 new changesets 96ee1d7354c4:5223b5e3265f
231
231
232 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
232 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto 0.2 --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
233 200 Script output follows
233 200 Script output follows
234 content-type: application/mercurial-0.2
234 content-type: application/mercurial-0.2
235
235
236
236
237 $ f --size body --hexdump --bytes 100
237 $ f --size body --hexdump --bytes 100
238 body: size=232
238 body: size=232
239 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
239 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
240 0010: cf 0b 45 52 52 4f 52 3a 41 42 4f 52 54 00 00 00 |..ERROR:ABORT...|
240 0010: cf 0b 45 52 52 4f 52 3a 41 42 4f 52 54 00 00 00 |..ERROR:ABORT...|
241 0020: 00 01 01 07 3c 04 72 6d 65 73 73 61 67 65 73 74 |....<.rmessagest|
241 0020: 00 01 01 07 3c 04 72 6d 65 73 73 61 67 65 73 74 |....<.rmessagest|
242 0030: 72 65 61 6d 20 64 61 74 61 20 72 65 71 75 65 73 |ream data reques|
242 0030: 72 65 61 6d 20 64 61 74 61 20 72 65 71 75 65 73 |ream data reques|
243 0040: 74 65 64 20 62 75 74 20 73 65 72 76 65 72 20 64 |ted but server d|
243 0040: 74 65 64 20 62 75 74 20 73 65 72 76 65 72 20 64 |ted but server d|
244 0050: 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 |oes not allow th|
244 0050: 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 |oes not allow th|
245 0060: 69 73 20 66 |is f|
245 0060: 69 73 20 66 |is f|
246
246
247 #endif
247 #endif
248
248
249 $ killdaemons.py
249 $ killdaemons.py
250 $ cd server
250 $ cd server
251 $ hg serve -p $HGPORT -d --pid-file=hg.pid --error errors.txt
251 $ hg serve -p $HGPORT -d --pid-file=hg.pid --error errors.txt
252 $ cat hg.pid > $DAEMON_PIDS
252 $ cat hg.pid > $DAEMON_PIDS
253 $ cd ..
253 $ cd ..
254
254
255 Basic clone
255 Basic clone
256
256
257 #if stream-legacy
257 #if stream-legacy
258 $ hg clone --stream -U http://localhost:$HGPORT clone1
258 $ hg clone --stream -U http://localhost:$HGPORT clone1
259 streaming all changes
259 streaming all changes
260 1090 files to transfer, 102 KB of data (no-zstd !)
260 1090 files to transfer, 102 KB of data (no-zstd !)
261 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
261 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
262 1090 files to transfer, 98.8 KB of data (zstd !)
262 1090 files to transfer, 98.8 KB of data (zstd !)
263 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
263 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
264 searching for changes
264 searching for changes
265 no changes found
265 no changes found
266 $ cat server/errors.txt
266 $ cat server/errors.txt
267 #endif
267 #endif
268 #if stream-bundle2
268 #if stream-bundle2
269 $ hg clone --stream -U http://localhost:$HGPORT clone1
269 $ hg clone --stream -U http://localhost:$HGPORT clone1
270 streaming all changes
270 streaming all changes
271 1093 files to transfer, 102 KB of data (no-zstd !)
271 1093 files to transfer, 102 KB of data (no-zstd !)
272 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
272 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
273 1093 files to transfer, 98.9 KB of data (zstd !)
273 1093 files to transfer, 98.9 KB of data (zstd !)
274 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
274 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
275
275
276 $ ls -1 clone1/.hg/cache
276 $ ls -1 clone1/.hg/cache
277 branch2-base
277 branch2-base
278 branch2-immutable
278 branch2-immutable
279 branch2-served
279 branch2-served
280 branch2-served.hidden
280 branch2-served.hidden
281 branch2-visible
281 branch2-visible
282 branch2-visible-hidden
282 branch2-visible-hidden
283 rbc-names-v1
283 rbc-names-v1
284 rbc-revs-v1
284 rbc-revs-v1
285 tags2
285 tags2
286 tags2-served
286 tags2-served
287 $ cat server/errors.txt
287 $ cat server/errors.txt
288 #endif
288 #endif
289
289
290 getbundle requests with stream=1 are uncompressed
290 getbundle requests with stream=1 are uncompressed
291
291
292 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
292 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle' content-type --bodyfile body --hgproto '0.1 0.2 comp=zlib,none' --requestheader "x-hgarg-1=bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Aphases%253Dheads%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=0&common=0000000000000000000000000000000000000000&heads=c17445101a72edac06facd130d14808dfbd5c7c2&stream=1"
293 200 Script output follows
293 200 Script output follows
294 content-type: application/mercurial-0.2
294 content-type: application/mercurial-0.2
295
295
296
296
297 #if no-zstd no-rust
297 #if no-zstd no-rust
298 $ f --size --hex --bytes 256 body
298 $ f --size --hex --bytes 256 body
299 body: size=119123
299 body: size=119123
300 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
300 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
301 0010: 62 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |b.STREAM2.......|
301 0010: 62 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |b.STREAM2.......|
302 0020: 06 09 04 0c 26 62 79 74 65 63 6f 75 6e 74 31 30 |....&bytecount10|
302 0020: 06 09 04 0c 26 62 79 74 65 63 6f 75 6e 74 31 30 |....&bytecount10|
303 0030: 34 31 31 35 66 69 6c 65 63 6f 75 6e 74 31 30 39 |4115filecount109|
303 0030: 34 31 31 35 66 69 6c 65 63 6f 75 6e 74 31 30 39 |4115filecount109|
304 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen|
304 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen|
305 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl|
305 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl|
306 0060: 6f 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 |ogv1%2Csparserev|
306 0060: 6f 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 |ogv1%2Csparserev|
307 0070: 6c 6f 67 00 00 80 00 73 08 42 64 61 74 61 2f 30 |log....s.Bdata/0|
307 0070: 6c 6f 67 00 00 80 00 73 08 42 64 61 74 61 2f 30 |log....s.Bdata/0|
308 0080: 2e 69 00 03 00 01 00 00 00 00 00 00 00 02 00 00 |.i..............|
308 0080: 2e 69 00 03 00 01 00 00 00 00 00 00 00 02 00 00 |.i..............|
309 0090: 00 01 00 00 00 00 00 00 00 01 ff ff ff ff ff ff |................|
309 0090: 00 01 00 00 00 00 00 00 00 01 ff ff ff ff ff ff |................|
310 00a0: ff ff 80 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 |...)c.I.#....Vg.|
310 00a0: ff ff 80 29 63 a0 49 d3 23 87 bf ce fe 56 67 92 |...)c.I.#....Vg.|
311 00b0: 67 2c 69 d1 ec 39 00 00 00 00 00 00 00 00 00 00 |g,i..9..........|
311 00b0: 67 2c 69 d1 ec 39 00 00 00 00 00 00 00 00 00 00 |g,i..9..........|
312 00c0: 00 00 75 30 73 26 45 64 61 74 61 2f 30 30 63 68 |..u0s&Edata/00ch|
312 00c0: 00 00 75 30 73 26 45 64 61 74 61 2f 30 30 63 68 |..u0s&Edata/00ch|
313 00d0: 61 6e 67 65 6c 6f 67 2d 61 62 33 34 39 31 38 30 |angelog-ab349180|
313 00d0: 61 6e 67 65 6c 6f 67 2d 61 62 33 34 39 31 38 30 |angelog-ab349180|
314 00e0: 61 30 34 30 35 30 31 30 2e 6e 64 2e 69 00 03 00 |a0405010.nd.i...|
314 00e0: 61 30 34 30 35 30 31 30 2e 6e 64 2e 69 00 03 00 |a0405010.nd.i...|
315 00f0: 01 00 00 00 00 00 00 00 05 00 00 00 04 00 00 00 |................|
315 00f0: 01 00 00 00 00 00 00 00 05 00 00 00 04 00 00 00 |................|
316 #endif
316 #endif
317 #if zstd no-rust
317 #if zstd no-rust
318 $ f --size --hex --bytes 256 body
318 $ f --size --hex --bytes 256 body
319 body: size=116310
319 body: size=116310 (no-bigendian !)
320 body: size=116335 (bigendian !)
320 body: size=116305 (bigendian !)
321 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
321 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
322 0010: 7c 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 ||.STREAM2.......|
322 0010: 7c 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 ||.STREAM2.......|
323 0020: 06 09 04 0c 40 62 79 74 65 63 6f 75 6e 74 31 30 |....@bytecount10|
323 0020: 06 09 04 0c 40 62 79 74 65 63 6f 75 6e 74 31 30 |....@bytecount10|
324 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| (no-bigendian !)
324 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| (no-bigendian !)
325 0030: 31 32 37 31 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1271filecount109| (bigendian !)
325 0030: 31 32 37 31 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1271filecount109| (bigendian !)
326 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen|
326 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen|
327 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl|
327 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl|
328 0060: 6f 67 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a |og-compression-z|
328 0060: 6f 67 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a |og-compression-z|
329 0070: 73 74 64 25 32 43 72 65 76 6c 6f 67 76 31 25 32 |std%2Crevlogv1%2|
329 0070: 73 74 64 25 32 43 72 65 76 6c 6f 67 76 31 25 32 |std%2Crevlogv1%2|
330 0080: 43 73 70 61 72 73 65 72 65 76 6c 6f 67 00 00 80 |Csparserevlog...|
330 0080: 43 73 70 61 72 73 65 72 65 76 6c 6f 67 00 00 80 |Csparserevlog...|
331 0090: 00 73 08 42 64 61 74 61 2f 30 2e 69 00 03 00 01 |.s.Bdata/0.i....|
331 0090: 00 73 08 42 64 61 74 61 2f 30 2e 69 00 03 00 01 |.s.Bdata/0.i....|
332 00a0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................|
332 00a0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................|
333 00b0: 00 00 00 01 ff ff ff ff ff ff ff ff 80 29 63 a0 |.............)c.|
333 00b0: 00 00 00 01 ff ff ff ff ff ff ff ff 80 29 63 a0 |.............)c.|
334 00c0: 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 |I.#....Vg.g,i..9|
334 00c0: 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 |I.#....Vg.g,i..9|
335 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 75 30 73 26 |............u0s&|
335 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 75 30 73 26 |............u0s&|
336 00e0: 45 64 61 74 61 2f 30 30 63 68 61 6e 67 65 6c 6f |Edata/00changelo|
336 00e0: 45 64 61 74 61 2f 30 30 63 68 61 6e 67 65 6c 6f |Edata/00changelo|
337 00f0: 67 2d 61 62 33 34 39 31 38 30 61 30 34 30 35 30 |g-ab349180a04050|
337 00f0: 67 2d 61 62 33 34 39 31 38 30 61 30 34 30 35 30 |g-ab349180a04050|
338 #endif
338 #endif
339 #if zstd rust no-dirstate-v2
339 #if zstd rust no-dirstate-v2
340 $ f --size --hex --bytes 256 body
340 $ f --size --hex --bytes 256 body
341 body: size=116310
341 body: size=116310
342 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
342 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
343 0010: 7c 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 ||.STREAM2.......|
343 0010: 7c 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 ||.STREAM2.......|
344 0020: 06 09 04 0c 40 62 79 74 65 63 6f 75 6e 74 31 30 |....@bytecount10|
344 0020: 06 09 04 0c 40 62 79 74 65 63 6f 75 6e 74 31 30 |....@bytecount10|
345 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109|
345 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109|
346 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen|
346 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen|
347 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl|
347 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl|
348 0060: 6f 67 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a |og-compression-z|
348 0060: 6f 67 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a |og-compression-z|
349 0070: 73 74 64 25 32 43 72 65 76 6c 6f 67 76 31 25 32 |std%2Crevlogv1%2|
349 0070: 73 74 64 25 32 43 72 65 76 6c 6f 67 76 31 25 32 |std%2Crevlogv1%2|
350 0080: 43 73 70 61 72 73 65 72 65 76 6c 6f 67 00 00 80 |Csparserevlog...|
350 0080: 43 73 70 61 72 73 65 72 65 76 6c 6f 67 00 00 80 |Csparserevlog...|
351 0090: 00 73 08 42 64 61 74 61 2f 30 2e 69 00 03 00 01 |.s.Bdata/0.i....|
351 0090: 00 73 08 42 64 61 74 61 2f 30 2e 69 00 03 00 01 |.s.Bdata/0.i....|
352 00a0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................|
352 00a0: 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 |................|
353 00b0: 00 00 00 01 ff ff ff ff ff ff ff ff 80 29 63 a0 |.............)c.|
353 00b0: 00 00 00 01 ff ff ff ff ff ff ff ff 80 29 63 a0 |.............)c.|
354 00c0: 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 |I.#....Vg.g,i..9|
354 00c0: 49 d3 23 87 bf ce fe 56 67 92 67 2c 69 d1 ec 39 |I.#....Vg.g,i..9|
355 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 75 30 73 26 |............u0s&|
355 00d0: 00 00 00 00 00 00 00 00 00 00 00 00 75 30 73 26 |............u0s&|
356 00e0: 45 64 61 74 61 2f 30 30 63 68 61 6e 67 65 6c 6f |Edata/00changelo|
356 00e0: 45 64 61 74 61 2f 30 30 63 68 61 6e 67 65 6c 6f |Edata/00changelo|
357 00f0: 67 2d 61 62 33 34 39 31 38 30 61 30 34 30 35 30 |g-ab349180a04050|
357 00f0: 67 2d 61 62 33 34 39 31 38 30 61 30 34 30 35 30 |g-ab349180a04050|
358 #endif
358 #endif
359 #if zstd dirstate-v2
359 #if zstd dirstate-v2
360 $ f --size --hex --bytes 256 body
360 $ f --size --hex --bytes 256 body
361 body: size=109549
361 body: size=109549
362 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
362 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......|
363 0010: c0 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......|
363 0010: c0 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |..STREAM2.......|
364 0020: 05 09 04 0c 85 62 79 74 65 63 6f 75 6e 74 39 35 |.....bytecount95|
364 0020: 05 09 04 0c 85 62 79 74 65 63 6f 75 6e 74 39 35 |.....bytecount95|
365 0030: 38 39 37 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |897filecount1030|
365 0030: 38 39 37 66 69 6c 65 63 6f 75 6e 74 31 30 33 30 |897filecount1030|
366 0040: 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 65 |requirementsdote|
366 0040: 72 65 71 75 69 72 65 6d 65 6e 74 73 64 6f 74 65 |requirementsdote|
367 0050: 6e 63 6f 64 65 25 32 43 65 78 70 2d 64 69 72 73 |ncode%2Cexp-dirs|
367 0050: 6e 63 6f 64 65 25 32 43 65 78 70 2d 64 69 72 73 |ncode%2Cexp-dirs|
368 0060: 74 61 74 65 2d 76 32 25 32 43 66 6e 63 61 63 68 |tate-v2%2Cfncach|
368 0060: 74 61 74 65 2d 76 32 25 32 43 66 6e 63 61 63 68 |tate-v2%2Cfncach|
369 0070: 65 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 |e%2Cgeneraldelta|
369 0070: 65 25 32 43 67 65 6e 65 72 61 6c 64 65 6c 74 61 |e%2Cgeneraldelta|
370 0080: 25 32 43 70 65 72 73 69 73 74 65 6e 74 2d 6e 6f |%2Cpersistent-no|
370 0080: 25 32 43 70 65 72 73 69 73 74 65 6e 74 2d 6e 6f |%2Cpersistent-no|
371 0090: 64 65 6d 61 70 25 32 43 72 65 76 6c 6f 67 2d 63 |demap%2Crevlog-c|
371 0090: 64 65 6d 61 70 25 32 43 72 65 76 6c 6f 67 2d 63 |demap%2Crevlog-c|
372 00a0: 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 25 |ompression-zstd%|
372 00a0: 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 25 |ompression-zstd%|
373 00b0: 32 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 |2Crevlogv1%2Cspa|
373 00b0: 32 43 72 65 76 6c 6f 67 76 31 25 32 43 73 70 61 |2Crevlogv1%2Cspa|
374 00c0: 72 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 |rserevlog%2Cstor|
374 00c0: 72 73 65 72 65 76 6c 6f 67 25 32 43 73 74 6f 72 |rserevlog%2Cstor|
375 00d0: 65 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 |e....s.Bdata/0.i|
375 00d0: 65 00 00 80 00 73 08 42 64 61 74 61 2f 30 2e 69 |e....s.Bdata/0.i|
376 00e0: 00 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 |................|
376 00e0: 00 03 00 01 00 00 00 00 00 00 00 02 00 00 00 01 |................|
377 00f0: 00 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff |................|
377 00f0: 00 00 00 00 00 00 00 01 ff ff ff ff ff ff ff ff |................|
378 #endif
378 #endif
379
379
380 --uncompressed is an alias to --stream
380 --uncompressed is an alias to --stream
381
381
382 #if stream-legacy
382 #if stream-legacy
383 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed
383 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed
384 streaming all changes
384 streaming all changes
385 1090 files to transfer, 102 KB of data (no-zstd !)
385 1090 files to transfer, 102 KB of data (no-zstd !)
386 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
386 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
387 1090 files to transfer, 98.8 KB of data (zstd !)
387 1090 files to transfer, 98.8 KB of data (zstd !)
388 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
388 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
389 searching for changes
389 searching for changes
390 no changes found
390 no changes found
391 #endif
391 #endif
392 #if stream-bundle2
392 #if stream-bundle2
393 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed
393 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed
394 streaming all changes
394 streaming all changes
395 1093 files to transfer, 102 KB of data (no-zstd !)
395 1093 files to transfer, 102 KB of data (no-zstd !)
396 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
396 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
397 1093 files to transfer, 98.9 KB of data (zstd !)
397 1093 files to transfer, 98.9 KB of data (zstd !)
398 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
398 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
399 #endif
399 #endif
400
400
401 Clone with background file closing enabled
401 Clone with background file closing enabled
402
402
403 #if stream-legacy
403 #if stream-legacy
404 $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding
404 $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding
405 using http://localhost:$HGPORT/
405 using http://localhost:$HGPORT/
406 sending capabilities command
406 sending capabilities command
407 sending branchmap command
407 sending branchmap command
408 streaming all changes
408 streaming all changes
409 sending stream_out command
409 sending stream_out command
410 1090 files to transfer, 102 KB of data (no-zstd !)
410 1090 files to transfer, 102 KB of data (no-zstd !)
411 1090 files to transfer, 98.8 KB of data (zstd !)
411 1090 files to transfer, 98.8 KB of data (zstd !)
412 starting 4 threads for background file closing
412 starting 4 threads for background file closing
413 updating the branch cache
413 updating the branch cache
414 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
414 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
415 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
415 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
416 query 1; heads
416 query 1; heads
417 sending batch command
417 sending batch command
418 searching for changes
418 searching for changes
419 all remote heads known locally
419 all remote heads known locally
420 no changes found
420 no changes found
421 sending getbundle command
421 sending getbundle command
422 bundle2-input-bundle: with-transaction
422 bundle2-input-bundle: with-transaction
423 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
423 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
424 bundle2-input-part: "phase-heads" supported
424 bundle2-input-part: "phase-heads" supported
425 bundle2-input-part: total payload size 24
425 bundle2-input-part: total payload size 24
426 bundle2-input-bundle: 2 parts total
426 bundle2-input-bundle: 2 parts total
427 checking for updated bookmarks
427 checking for updated bookmarks
428 updating the branch cache
428 updating the branch cache
429 (sent 5 HTTP requests and * bytes; received * bytes in responses) (glob)
429 (sent 5 HTTP requests and * bytes; received * bytes in responses) (glob)
430 #endif
430 #endif
431 #if stream-bundle2
431 #if stream-bundle2
432 $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding
432 $ hg --debug --config worker.backgroundclose=true --config worker.backgroundcloseminfilecount=1 clone --stream -U http://localhost:$HGPORT clone-background | grep -v adding
433 using http://localhost:$HGPORT/
433 using http://localhost:$HGPORT/
434 sending capabilities command
434 sending capabilities command
435 query 1; heads
435 query 1; heads
436 sending batch command
436 sending batch command
437 streaming all changes
437 streaming all changes
438 sending getbundle command
438 sending getbundle command
439 bundle2-input-bundle: with-transaction
439 bundle2-input-bundle: with-transaction
440 bundle2-input-part: "stream2" (params: 3 mandatory) supported
440 bundle2-input-part: "stream2" (params: 3 mandatory) supported
441 applying stream bundle
441 applying stream bundle
442 1093 files to transfer, 102 KB of data (no-zstd !)
442 1093 files to transfer, 102 KB of data (no-zstd !)
443 1093 files to transfer, 98.9 KB of data (zstd !)
443 1093 files to transfer, 98.9 KB of data (zstd !)
444 starting 4 threads for background file closing
444 starting 4 threads for background file closing
445 starting 4 threads for background file closing
445 starting 4 threads for background file closing
446 updating the branch cache
446 updating the branch cache
447 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
447 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
448 bundle2-input-part: total payload size 118984 (no-zstd !)
448 bundle2-input-part: total payload size 118984 (no-zstd !)
449 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
449 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
450 bundle2-input-part: total payload size 116145 (zstd no-bigendian !)
450 bundle2-input-part: total payload size 116145 (zstd no-bigendian !)
451 bundle2-input-part: total payload size 116140 (zstd bigendian !)
451 bundle2-input-part: total payload size 116140 (zstd bigendian !)
452 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
452 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
453 bundle2-input-bundle: 2 parts total
453 bundle2-input-bundle: 2 parts total
454 checking for updated bookmarks
454 checking for updated bookmarks
455 updating the branch cache
455 updating the branch cache
456 (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
456 (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
457 #endif
457 #endif
458
458
459 Cannot stream clone when there are secret changesets
459 Cannot stream clone when there are secret changesets
460
460
461 $ hg -R server phase --force --secret -r tip
461 $ hg -R server phase --force --secret -r tip
462 $ hg clone --stream -U http://localhost:$HGPORT secret-denied
462 $ hg clone --stream -U http://localhost:$HGPORT secret-denied
463 warning: stream clone requested but server has them disabled
463 warning: stream clone requested but server has them disabled
464 requesting all changes
464 requesting all changes
465 adding changesets
465 adding changesets
466 adding manifests
466 adding manifests
467 adding file changes
467 adding file changes
468 added 2 changesets with 1025 changes to 1025 files
468 added 2 changesets with 1025 changes to 1025 files
469 new changesets 96ee1d7354c4:c17445101a72
469 new changesets 96ee1d7354c4:c17445101a72
470
470
471 $ killdaemons.py
471 $ killdaemons.py
472
472
473 Streaming of secrets can be overridden by server config
473 Streaming of secrets can be overridden by server config
474
474
475 $ cd server
475 $ cd server
476 $ hg serve --config server.uncompressedallowsecret=true -p $HGPORT -d --pid-file=hg.pid
476 $ hg serve --config server.uncompressedallowsecret=true -p $HGPORT -d --pid-file=hg.pid
477 $ cat hg.pid > $DAEMON_PIDS
477 $ cat hg.pid > $DAEMON_PIDS
478 $ cd ..
478 $ cd ..
479
479
480 #if stream-legacy
480 #if stream-legacy
481 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed
481 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed
482 streaming all changes
482 streaming all changes
483 1090 files to transfer, 102 KB of data (no-zstd !)
483 1090 files to transfer, 102 KB of data (no-zstd !)
484 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
484 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
485 1090 files to transfer, 98.8 KB of data (zstd !)
485 1090 files to transfer, 98.8 KB of data (zstd !)
486 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
486 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
487 searching for changes
487 searching for changes
488 no changes found
488 no changes found
489 #endif
489 #endif
490 #if stream-bundle2
490 #if stream-bundle2
491 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed
491 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed
492 streaming all changes
492 streaming all changes
493 1093 files to transfer, 102 KB of data (no-zstd !)
493 1093 files to transfer, 102 KB of data (no-zstd !)
494 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
494 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
495 1093 files to transfer, 98.9 KB of data (zstd !)
495 1093 files to transfer, 98.9 KB of data (zstd !)
496 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
496 transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !)
497 #endif
497 #endif
498
498
499 $ killdaemons.py
499 $ killdaemons.py
500
500
501 Verify interaction between preferuncompressed and secret presence
501 Verify interaction between preferuncompressed and secret presence
502
502
503 $ cd server
503 $ cd server
504 $ hg serve --config server.preferuncompressed=true -p $HGPORT -d --pid-file=hg.pid
504 $ hg serve --config server.preferuncompressed=true -p $HGPORT -d --pid-file=hg.pid
505 $ cat hg.pid > $DAEMON_PIDS
505 $ cat hg.pid > $DAEMON_PIDS
506 $ cd ..
506 $ cd ..
507
507
508 $ hg clone -U http://localhost:$HGPORT preferuncompressed-secret
508 $ hg clone -U http://localhost:$HGPORT preferuncompressed-secret
509 requesting all changes
509 requesting all changes
510 adding changesets
510 adding changesets
511 adding manifests
511 adding manifests
512 adding file changes
512 adding file changes
513 added 2 changesets with 1025 changes to 1025 files
513 added 2 changesets with 1025 changes to 1025 files
514 new changesets 96ee1d7354c4:c17445101a72
514 new changesets 96ee1d7354c4:c17445101a72
515
515
516 $ killdaemons.py
516 $ killdaemons.py
517
517
518 Clone not allowed when full bundles disabled and can't serve secrets
518 Clone not allowed when full bundles disabled and can't serve secrets
519
519
520 $ cd server
520 $ cd server
521 $ hg serve --config server.disablefullbundle=true -p $HGPORT -d --pid-file=hg.pid
521 $ hg serve --config server.disablefullbundle=true -p $HGPORT -d --pid-file=hg.pid
522 $ cat hg.pid > $DAEMON_PIDS
522 $ cat hg.pid > $DAEMON_PIDS
523 $ cd ..
523 $ cd ..
524
524
525 $ hg clone --stream http://localhost:$HGPORT secret-full-disabled
525 $ hg clone --stream http://localhost:$HGPORT secret-full-disabled
526 warning: stream clone requested but server has them disabled
526 warning: stream clone requested but server has them disabled
527 requesting all changes
527 requesting all changes
528 remote: abort: server has pull-based clones disabled
528 remote: abort: server has pull-based clones disabled
529 abort: pull failed on remote
529 abort: pull failed on remote
530 (remove --pull if specified or upgrade Mercurial)
530 (remove --pull if specified or upgrade Mercurial)
531 [100]
531 [100]
532
532
533 Local stream clone with secrets involved
533 Local stream clone with secrets involved
534 (This is just a test over behavior: if you have access to the repo's files,
534 (This is just a test over behavior: if you have access to the repo's files,
535 there is no security so it isn't important to prevent a clone here.)
535 there is no security so it isn't important to prevent a clone here.)
536
536
537 $ hg clone -U --stream server local-secret
537 $ hg clone -U --stream server local-secret
538 warning: stream clone requested but server has them disabled
538 warning: stream clone requested but server has them disabled
539 requesting all changes
539 requesting all changes
540 adding changesets
540 adding changesets
541 adding manifests
541 adding manifests
542 adding file changes
542 adding file changes
543 added 2 changesets with 1025 changes to 1025 files
543 added 2 changesets with 1025 changes to 1025 files
544 new changesets 96ee1d7354c4:c17445101a72
544 new changesets 96ee1d7354c4:c17445101a72
545
545
546 Stream clone while repo is changing:
546 Stream clone while repo is changing:
547
547
548 $ mkdir changing
548 $ mkdir changing
549 $ cd changing
549 $ cd changing
550
550
551 extension for delaying the server process so we reliably can modify the repo
551 extension for delaying the server process so we reliably can modify the repo
552 while cloning
552 while cloning
553
553
554 $ cat > stream_steps.py <<EOF
554 $ cat > stream_steps.py <<EOF
555 > import os
555 > import os
556 > import sys
556 > import sys
557 > from mercurial import (
557 > from mercurial import (
558 > encoding,
558 > encoding,
559 > extensions,
559 > extensions,
560 > streamclone,
560 > streamclone,
561 > testing,
561 > testing,
562 > )
562 > )
563 > WALKED_FILE_1 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_1']
563 > WALKED_FILE_1 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_1']
564 > WALKED_FILE_2 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_2']
564 > WALKED_FILE_2 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_2']
565 >
565 >
566 > def _test_sync_point_walk_1(orig, repo):
566 > def _test_sync_point_walk_1(orig, repo):
567 > testing.write_file(WALKED_FILE_1)
567 > testing.write_file(WALKED_FILE_1)
568 >
568 >
569 > def _test_sync_point_walk_2(orig, repo):
569 > def _test_sync_point_walk_2(orig, repo):
570 > assert repo._currentlock(repo._lockref) is None
570 > assert repo._currentlock(repo._lockref) is None
571 > testing.wait_file(WALKED_FILE_2)
571 > testing.wait_file(WALKED_FILE_2)
572 >
572 >
573 > extensions.wrapfunction(
573 > extensions.wrapfunction(
574 > streamclone,
574 > streamclone,
575 > '_test_sync_point_walk_1',
575 > '_test_sync_point_walk_1',
576 > _test_sync_point_walk_1
576 > _test_sync_point_walk_1
577 > )
577 > )
578 > extensions.wrapfunction(
578 > extensions.wrapfunction(
579 > streamclone,
579 > streamclone,
580 > '_test_sync_point_walk_2',
580 > '_test_sync_point_walk_2',
581 > _test_sync_point_walk_2
581 > _test_sync_point_walk_2
582 > )
582 > )
583 > EOF
583 > EOF
584
584
585 prepare repo with small and big file to cover both code paths in emitrevlogdata
585 prepare repo with small and big file to cover both code paths in emitrevlogdata
586
586
587 $ hg init repo
587 $ hg init repo
588 $ touch repo/f1
588 $ touch repo/f1
589 $ $TESTDIR/seq.py 50000 > repo/f2
589 $ $TESTDIR/seq.py 50000 > repo/f2
590 $ hg -R repo ci -Aqm "0"
590 $ hg -R repo ci -Aqm "0"
591 $ HG_TEST_STREAM_WALKED_FILE_1="$TESTTMP/sync_file_walked_1"
591 $ HG_TEST_STREAM_WALKED_FILE_1="$TESTTMP/sync_file_walked_1"
592 $ export HG_TEST_STREAM_WALKED_FILE_1
592 $ export HG_TEST_STREAM_WALKED_FILE_1
593 $ HG_TEST_STREAM_WALKED_FILE_2="$TESTTMP/sync_file_walked_2"
593 $ HG_TEST_STREAM_WALKED_FILE_2="$TESTTMP/sync_file_walked_2"
594 $ export HG_TEST_STREAM_WALKED_FILE_2
594 $ export HG_TEST_STREAM_WALKED_FILE_2
595 $ HG_TEST_STREAM_WALKED_FILE_3="$TESTTMP/sync_file_walked_3"
595 $ HG_TEST_STREAM_WALKED_FILE_3="$TESTTMP/sync_file_walked_3"
596 $ export HG_TEST_STREAM_WALKED_FILE_3
596 $ export HG_TEST_STREAM_WALKED_FILE_3
597 # $ cat << EOF >> $HGRCPATH
597 # $ cat << EOF >> $HGRCPATH
598 # > [hooks]
598 # > [hooks]
599 # > pre-clone=rm -f "$TESTTMP/sync_file_walked_*"
599 # > pre-clone=rm -f "$TESTTMP/sync_file_walked_*"
600 # > EOF
600 # > EOF
601 $ hg serve -R repo -p $HGPORT1 -d --error errors.log --pid-file=hg.pid --config extensions.stream_steps="$RUNTESTDIR/testlib/ext-stream-clone-steps.py"
601 $ hg serve -R repo -p $HGPORT1 -d --error errors.log --pid-file=hg.pid --config extensions.stream_steps="$RUNTESTDIR/testlib/ext-stream-clone-steps.py"
602 $ cat hg.pid >> $DAEMON_PIDS
602 $ cat hg.pid >> $DAEMON_PIDS
603
603
604 clone while modifying the repo between stating file with write lock and
604 clone while modifying the repo between stating file with write lock and
605 actually serving file content
605 actually serving file content
606
606
607 $ (hg clone -q --stream -U http://localhost:$HGPORT1 clone; touch "$HG_TEST_STREAM_WALKED_FILE_3") &
607 $ (hg clone -q --stream -U http://localhost:$HGPORT1 clone; touch "$HG_TEST_STREAM_WALKED_FILE_3") &
608 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1
608 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1
609 $ echo >> repo/f1
609 $ echo >> repo/f1
610 $ echo >> repo/f2
610 $ echo >> repo/f2
611 $ hg -R repo ci -m "1" --config ui.timeout.warn=-1
611 $ hg -R repo ci -m "1" --config ui.timeout.warn=-1
612 $ touch $HG_TEST_STREAM_WALKED_FILE_2
612 $ touch $HG_TEST_STREAM_WALKED_FILE_2
613 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3
613 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3
614 $ hg -R clone id
614 $ hg -R clone id
615 000000000000
615 000000000000
616 $ cat errors.log
616 $ cat errors.log
617 $ cd ..
617 $ cd ..
618
618
619 Stream repository with bookmarks
619 Stream repository with bookmarks
620 --------------------------------
620 --------------------------------
621
621
622 (revert introduction of secret changeset)
622 (revert introduction of secret changeset)
623
623
624 $ hg -R server phase --draft 'secret()'
624 $ hg -R server phase --draft 'secret()'
625
625
626 add a bookmark
626 add a bookmark
627
627
628 $ hg -R server bookmark -r tip some-bookmark
628 $ hg -R server bookmark -r tip some-bookmark
629
629
630 clone it
630 clone it
631
631
632 #if stream-legacy
632 #if stream-legacy
633 $ hg clone --stream http://localhost:$HGPORT with-bookmarks
633 $ hg clone --stream http://localhost:$HGPORT with-bookmarks
634 streaming all changes
634 streaming all changes
635 1090 files to transfer, 102 KB of data (no-zstd !)
635 1090 files to transfer, 102 KB of data (no-zstd !)
636 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
636 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
637 1090 files to transfer, 98.8 KB of data (zstd !)
637 1090 files to transfer, 98.8 KB of data (zstd !)
638 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
638 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
639 searching for changes
639 searching for changes
640 no changes found
640 no changes found
641 updating to branch default
641 updating to branch default
642 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
642 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
643 #endif
643 #endif
644 #if stream-bundle2
644 #if stream-bundle2
645 $ hg clone --stream http://localhost:$HGPORT with-bookmarks
645 $ hg clone --stream http://localhost:$HGPORT with-bookmarks
646 streaming all changes
646 streaming all changes
647 1096 files to transfer, 102 KB of data (no-zstd !)
647 1096 files to transfer, 102 KB of data (no-zstd !)
648 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
648 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
649 1096 files to transfer, 99.1 KB of data (zstd !)
649 1096 files to transfer, 99.1 KB of data (zstd !)
650 transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !)
650 transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !)
651 updating to branch default
651 updating to branch default
652 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
652 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
653 #endif
653 #endif
654 $ hg verify -R with-bookmarks
654 $ hg verify -R with-bookmarks
655 checking changesets
655 checking changesets
656 checking manifests
656 checking manifests
657 crosschecking files in changesets and manifests
657 crosschecking files in changesets and manifests
658 checking files
658 checking files
659 checked 3 changesets with 1088 changes to 1088 files
659 checked 3 changesets with 1088 changes to 1088 files
660 $ hg -R with-bookmarks bookmarks
660 $ hg -R with-bookmarks bookmarks
661 some-bookmark 2:5223b5e3265f
661 some-bookmark 2:5223b5e3265f
662
662
663 Stream repository with phases
663 Stream repository with phases
664 -----------------------------
664 -----------------------------
665
665
666 Clone as publishing
666 Clone as publishing
667
667
668 $ hg -R server phase -r 'all()'
668 $ hg -R server phase -r 'all()'
669 0: draft
669 0: draft
670 1: draft
670 1: draft
671 2: draft
671 2: draft
672
672
673 #if stream-legacy
673 #if stream-legacy
674 $ hg clone --stream http://localhost:$HGPORT phase-publish
674 $ hg clone --stream http://localhost:$HGPORT phase-publish
675 streaming all changes
675 streaming all changes
676 1090 files to transfer, 102 KB of data (no-zstd !)
676 1090 files to transfer, 102 KB of data (no-zstd !)
677 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
677 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
678 1090 files to transfer, 98.8 KB of data (zstd !)
678 1090 files to transfer, 98.8 KB of data (zstd !)
679 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
679 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
680 searching for changes
680 searching for changes
681 no changes found
681 no changes found
682 updating to branch default
682 updating to branch default
683 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
683 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
684 #endif
684 #endif
685 #if stream-bundle2
685 #if stream-bundle2
686 $ hg clone --stream http://localhost:$HGPORT phase-publish
686 $ hg clone --stream http://localhost:$HGPORT phase-publish
687 streaming all changes
687 streaming all changes
688 1096 files to transfer, 102 KB of data (no-zstd !)
688 1096 files to transfer, 102 KB of data (no-zstd !)
689 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
689 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
690 1096 files to transfer, 99.1 KB of data (zstd !)
690 1096 files to transfer, 99.1 KB of data (zstd !)
691 transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !)
691 transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !)
692 updating to branch default
692 updating to branch default
693 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
693 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
694 #endif
694 #endif
695 $ hg verify -R phase-publish
695 $ hg verify -R phase-publish
696 checking changesets
696 checking changesets
697 checking manifests
697 checking manifests
698 crosschecking files in changesets and manifests
698 crosschecking files in changesets and manifests
699 checking files
699 checking files
700 checked 3 changesets with 1088 changes to 1088 files
700 checked 3 changesets with 1088 changes to 1088 files
701 $ hg -R phase-publish phase -r 'all()'
701 $ hg -R phase-publish phase -r 'all()'
702 0: public
702 0: public
703 1: public
703 1: public
704 2: public
704 2: public
705
705
706 Clone as non publishing
706 Clone as non publishing
707
707
708 $ cat << EOF >> server/.hg/hgrc
708 $ cat << EOF >> server/.hg/hgrc
709 > [phases]
709 > [phases]
710 > publish = False
710 > publish = False
711 > EOF
711 > EOF
712 $ killdaemons.py
712 $ killdaemons.py
713 $ hg -R server serve -p $HGPORT -d --pid-file=hg.pid
713 $ hg -R server serve -p $HGPORT -d --pid-file=hg.pid
714 $ cat hg.pid > $DAEMON_PIDS
714 $ cat hg.pid > $DAEMON_PIDS
715
715
716 #if stream-legacy
716 #if stream-legacy
717
717
718 With v1 of the stream protocol, changeset are always cloned as public. It make
718 With v1 of the stream protocol, changeset are always cloned as public. It make
719 stream v1 unsuitable for non-publishing repository.
719 stream v1 unsuitable for non-publishing repository.
720
720
721 $ hg clone --stream http://localhost:$HGPORT phase-no-publish
721 $ hg clone --stream http://localhost:$HGPORT phase-no-publish
722 streaming all changes
722 streaming all changes
723 1090 files to transfer, 102 KB of data (no-zstd !)
723 1090 files to transfer, 102 KB of data (no-zstd !)
724 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
724 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
725 1090 files to transfer, 98.8 KB of data (zstd !)
725 1090 files to transfer, 98.8 KB of data (zstd !)
726 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
726 transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !)
727 searching for changes
727 searching for changes
728 no changes found
728 no changes found
729 updating to branch default
729 updating to branch default
730 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
730 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
731 $ hg -R phase-no-publish phase -r 'all()'
731 $ hg -R phase-no-publish phase -r 'all()'
732 0: public
732 0: public
733 1: public
733 1: public
734 2: public
734 2: public
735 #endif
735 #endif
736 #if stream-bundle2
736 #if stream-bundle2
737 $ hg clone --stream http://localhost:$HGPORT phase-no-publish
737 $ hg clone --stream http://localhost:$HGPORT phase-no-publish
738 streaming all changes
738 streaming all changes
739 1097 files to transfer, 102 KB of data (no-zstd !)
739 1097 files to transfer, 102 KB of data (no-zstd !)
740 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
740 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
741 1097 files to transfer, 99.1 KB of data (zstd !)
741 1097 files to transfer, 99.1 KB of data (zstd !)
742 transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !)
742 transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !)
743 updating to branch default
743 updating to branch default
744 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
744 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
745 $ hg -R phase-no-publish phase -r 'all()'
745 $ hg -R phase-no-publish phase -r 'all()'
746 0: draft
746 0: draft
747 1: draft
747 1: draft
748 2: draft
748 2: draft
749 #endif
749 #endif
750 $ hg verify -R phase-no-publish
750 $ hg verify -R phase-no-publish
751 checking changesets
751 checking changesets
752 checking manifests
752 checking manifests
753 crosschecking files in changesets and manifests
753 crosschecking files in changesets and manifests
754 checking files
754 checking files
755 checked 3 changesets with 1088 changes to 1088 files
755 checked 3 changesets with 1088 changes to 1088 files
756
756
757 $ killdaemons.py
757 $ killdaemons.py
758
758
759 #if stream-legacy
759 #if stream-legacy
760
760
761 With v1 of the stream protocol, changeset are always cloned as public. There's
761 With v1 of the stream protocol, changeset are always cloned as public. There's
762 no obsolescence markers exchange in stream v1.
762 no obsolescence markers exchange in stream v1.
763
763
764 #endif
764 #endif
765 #if stream-bundle2
765 #if stream-bundle2
766
766
767 Stream repository with obsolescence
767 Stream repository with obsolescence
768 -----------------------------------
768 -----------------------------------
769
769
770 Clone non-publishing with obsolescence
770 Clone non-publishing with obsolescence
771
771
772 $ cat >> $HGRCPATH << EOF
772 $ cat >> $HGRCPATH << EOF
773 > [experimental]
773 > [experimental]
774 > evolution=all
774 > evolution=all
775 > EOF
775 > EOF
776
776
777 $ cd server
777 $ cd server
778 $ echo foo > foo
778 $ echo foo > foo
779 $ hg -q commit -m 'about to be pruned'
779 $ hg -q commit -m 'about to be pruned'
780 $ hg debugobsolete `hg log -r . -T '{node}'` -d '0 0' -u test --record-parents
780 $ hg debugobsolete `hg log -r . -T '{node}'` -d '0 0' -u test --record-parents
781 1 new obsolescence markers
781 1 new obsolescence markers
782 obsoleted 1 changesets
782 obsoleted 1 changesets
783 $ hg up null -q
783 $ hg up null -q
784 $ hg log -T '{rev}: {phase}\n'
784 $ hg log -T '{rev}: {phase}\n'
785 2: draft
785 2: draft
786 1: draft
786 1: draft
787 0: draft
787 0: draft
788 $ hg serve -p $HGPORT -d --pid-file=hg.pid
788 $ hg serve -p $HGPORT -d --pid-file=hg.pid
789 $ cat hg.pid > $DAEMON_PIDS
789 $ cat hg.pid > $DAEMON_PIDS
790 $ cd ..
790 $ cd ..
791
791
792 $ hg clone -U --stream http://localhost:$HGPORT with-obsolescence
792 $ hg clone -U --stream http://localhost:$HGPORT with-obsolescence
793 streaming all changes
793 streaming all changes
794 1098 files to transfer, 102 KB of data (no-zstd !)
794 1098 files to transfer, 102 KB of data (no-zstd !)
795 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
795 transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !)
796 1098 files to transfer, 99.5 KB of data (zstd !)
796 1098 files to transfer, 99.5 KB of data (zstd !)
797 transferred 99.5 KB in * seconds (* */sec) (glob) (zstd !)
797 transferred 99.5 KB in * seconds (* */sec) (glob) (zstd !)
798 $ hg -R with-obsolescence log -T '{rev}: {phase}\n'
798 $ hg -R with-obsolescence log -T '{rev}: {phase}\n'
799 2: draft
799 2: draft
800 1: draft
800 1: draft
801 0: draft
801 0: draft
802 $ hg debugobsolete -R with-obsolescence
802 $ hg debugobsolete -R with-obsolescence
803 8c206a663911c1f97f2f9d7382e417ae55872cfa 0 {5223b5e3265f0df40bb743da62249413d74ac70f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
803 8c206a663911c1f97f2f9d7382e417ae55872cfa 0 {5223b5e3265f0df40bb743da62249413d74ac70f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
804 $ hg verify -R with-obsolescence
804 $ hg verify -R with-obsolescence
805 checking changesets
805 checking changesets
806 checking manifests
806 checking manifests
807 crosschecking files in changesets and manifests
807 crosschecking files in changesets and manifests
808 checking files
808 checking files
809 checked 4 changesets with 1089 changes to 1088 files
809 checked 4 changesets with 1089 changes to 1088 files
810
810
811 $ hg clone -U --stream --config experimental.evolution=0 http://localhost:$HGPORT with-obsolescence-no-evolution
811 $ hg clone -U --stream --config experimental.evolution=0 http://localhost:$HGPORT with-obsolescence-no-evolution
812 streaming all changes
812 streaming all changes
813 remote: abort: server has obsolescence markers, but client cannot receive them via stream clone
813 remote: abort: server has obsolescence markers, but client cannot receive them via stream clone
814 abort: pull failed on remote
814 abort: pull failed on remote
815 [100]
815 [100]
816
816
817 $ killdaemons.py
817 $ killdaemons.py
818
818
819 #endif
819 #endif
General Comments 0
You need to be logged in to leave comments. Login now