##// END OF EJS Templates
persistent-nodemap: disable it unconditionally for test-ssh-proto.t...
marmoute -
r47641:a0d152e5 default
parent child Browse files
Show More
@@ -1,2202 +1,2209 b''
1 #require no-chg
1 #require no-chg
2
2
3 persistent-nodemap is not enabled by default. It is not relevant for this test so disable it.
4
5 $ cat << EOF >> $HGRCPATH
6 > [format]
7 > use-persistent-nodemap = no
8 > EOF
9
3 $ cat > hgrc-sshv2 << EOF
10 $ cat > hgrc-sshv2 << EOF
4 > %include $HGRCPATH
11 > %include $HGRCPATH
5 > [experimental]
12 > [experimental]
6 > sshpeer.advertise-v2 = true
13 > sshpeer.advertise-v2 = true
7 > sshserver.support-v2 = true
14 > sshserver.support-v2 = true
8 > EOF
15 > EOF
9
16
10 Helper function to run protocol tests against multiple protocol versions.
17 Helper function to run protocol tests against multiple protocol versions.
11 This is easier than using #testcases because managing differences between
18 This is easier than using #testcases because managing differences between
12 protocols with inline conditional output is hard to read.
19 protocols with inline conditional output is hard to read.
13
20
14 $ debugwireproto() {
21 $ debugwireproto() {
15 > commands=`cat -`
22 > commands=`cat -`
16 > echo 'testing ssh1'
23 > echo 'testing ssh1'
17 > echo "${commands}" | hg --verbose debugwireproto --localssh
24 > echo "${commands}" | hg --verbose debugwireproto --localssh
18 > echo ""
25 > echo ""
19 > echo 'testing ssh2'
26 > echo 'testing ssh2'
20 > echo "${commands}" | HGRCPATH=$TESTTMP/hgrc-sshv2 hg --verbose debugwireproto --localssh
27 > echo "${commands}" | HGRCPATH=$TESTTMP/hgrc-sshv2 hg --verbose debugwireproto --localssh
21 > }
28 > }
22
29
23 $ cat >> $HGRCPATH << EOF
30 $ cat >> $HGRCPATH << EOF
24 > [ui]
31 > [ui]
25 > ssh = "$PYTHON" "$TESTDIR/dummyssh"
32 > ssh = "$PYTHON" "$TESTDIR/dummyssh"
26 > [devel]
33 > [devel]
27 > debug.peer-request = true
34 > debug.peer-request = true
28 > [extensions]
35 > [extensions]
29 > sshprotoext = $TESTDIR/sshprotoext.py
36 > sshprotoext = $TESTDIR/sshprotoext.py
30 > EOF
37 > EOF
31
38
32 $ hg init server
39 $ hg init server
33 $ cd server
40 $ cd server
34 $ echo 0 > foo
41 $ echo 0 > foo
35 $ hg -q add foo
42 $ hg -q add foo
36 $ hg commit -m initial
43 $ hg commit -m initial
37
44
38 A no-op connection performs a handshake
45 A no-op connection performs a handshake
39
46
40 $ hg debugwireproto --localssh << EOF
47 $ hg debugwireproto --localssh << EOF
41 > EOF
48 > EOF
42 creating ssh peer from handshake results
49 creating ssh peer from handshake results
43
50
44 Raw peers don't perform any activity
51 Raw peers don't perform any activity
45
52
46 $ hg debugwireproto --localssh --peer raw << EOF
53 $ hg debugwireproto --localssh --peer raw << EOF
47 > EOF
54 > EOF
48 using raw connection to peer
55 using raw connection to peer
49 $ hg debugwireproto --localssh --peer ssh1 << EOF
56 $ hg debugwireproto --localssh --peer ssh1 << EOF
50 > EOF
57 > EOF
51 creating ssh peer for wire protocol version 1
58 creating ssh peer for wire protocol version 1
52 $ hg debugwireproto --localssh --peer ssh2 << EOF
59 $ hg debugwireproto --localssh --peer ssh2 << EOF
53 > EOF
60 > EOF
54 creating ssh peer for wire protocol version 2
61 creating ssh peer for wire protocol version 2
55
62
56 Test a normal behaving server, for sanity
63 Test a normal behaving server, for sanity
57
64
58 $ cd ..
65 $ cd ..
59
66
60 $ hg --debug debugpeer ssh://user@dummy/server
67 $ hg --debug debugpeer ssh://user@dummy/server
61 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
68 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
62 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
69 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
63 devel-peer-request: hello+between
70 devel-peer-request: hello+between
64 devel-peer-request: pairs: 81 bytes
71 devel-peer-request: pairs: 81 bytes
65 sending hello command
72 sending hello command
66 sending between command
73 sending between command
67 remote: 444
74 remote: 444
68 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
75 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
69 remote: 1
76 remote: 1
70 devel-peer-request: protocaps
77 devel-peer-request: protocaps
71 devel-peer-request: caps: * bytes (glob)
78 devel-peer-request: caps: * bytes (glob)
72 sending protocaps command
79 sending protocaps command
73 url: ssh://user@dummy/server
80 url: ssh://user@dummy/server
74 local: no
81 local: no
75 pushable: yes
82 pushable: yes
76
83
77 Server should answer the "hello" command in isolation
84 Server should answer the "hello" command in isolation
78
85
79 $ hg -R server debugwireproto --localssh --peer raw << EOF
86 $ hg -R server debugwireproto --localssh --peer raw << EOF
80 > raw
87 > raw
81 > hello\n
88 > hello\n
82 > readline
89 > readline
83 > readline
90 > readline
84 > EOF
91 > EOF
85 using raw connection to peer
92 using raw connection to peer
86 i> write(6) -> 6:
93 i> write(6) -> 6:
87 i> hello\n
94 i> hello\n
88 o> readline() -> 4:
95 o> readline() -> 4:
89 o> 444\n
96 o> 444\n
90 o> readline() -> 444:
97 o> readline() -> 444:
91 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
98 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
92
99
93 `hg debugserve --sshstdio` works
100 `hg debugserve --sshstdio` works
94
101
95 $ cd server
102 $ cd server
96 $ hg debugserve --sshstdio << EOF
103 $ hg debugserve --sshstdio << EOF
97 > hello
104 > hello
98 > EOF
105 > EOF
99 444
106 444
100 capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
107 capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
101
108
102 I/O logging works
109 I/O logging works
103
110
104 $ hg debugserve --sshstdio --logiofd 1 << EOF
111 $ hg debugserve --sshstdio --logiofd 1 << EOF
105 > hello
112 > hello
106 > EOF
113 > EOF
107 e> flush() -> None
114 e> flush() -> None
108 o> write(4) -> 4:
115 o> write(4) -> 4:
109 o> 444\n
116 o> 444\n
110 o> write(444) -> 444:
117 o> write(444) -> 444:
111 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
118 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
112 444
119 444
113 capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
120 capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
114 o> flush() -> None
121 o> flush() -> None
115
122
116 $ hg debugserve --sshstdio --logiofile $TESTTMP/io << EOF
123 $ hg debugserve --sshstdio --logiofile $TESTTMP/io << EOF
117 > hello
124 > hello
118 > EOF
125 > EOF
119 444
126 444
120 capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
127 capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
121
128
122 $ cat $TESTTMP/io
129 $ cat $TESTTMP/io
123 e> flush() -> None
130 e> flush() -> None
124 o> write(4) -> 4:
131 o> write(4) -> 4:
125 o> 444\n
132 o> 444\n
126 o> write(444) -> 444:
133 o> write(444) -> 444:
127 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
134 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
128 o> flush() -> None
135 o> flush() -> None
129
136
130 $ cd ..
137 $ cd ..
131
138
132 >=0.9.1 clients send a "hello" + "between" for the null range as part of handshake.
139 >=0.9.1 clients send a "hello" + "between" for the null range as part of handshake.
133 Server should reply with capabilities and should send "1\n\n" as a successful
140 Server should reply with capabilities and should send "1\n\n" as a successful
134 reply with empty response to the "between".
141 reply with empty response to the "between".
135
142
136 $ hg -R server debugwireproto --localssh --peer raw << EOF
143 $ hg -R server debugwireproto --localssh --peer raw << EOF
137 > raw
144 > raw
138 > hello\n
145 > hello\n
139 > readline
146 > readline
140 > readline
147 > readline
141 > raw
148 > raw
142 > between\n
149 > between\n
143 > pairs 81\n
150 > pairs 81\n
144 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
151 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
145 > readline
152 > readline
146 > readline
153 > readline
147 > EOF
154 > EOF
148 using raw connection to peer
155 using raw connection to peer
149 i> write(6) -> 6:
156 i> write(6) -> 6:
150 i> hello\n
157 i> hello\n
151 o> readline() -> 4:
158 o> readline() -> 4:
152 o> 444\n
159 o> 444\n
153 o> readline() -> 444:
160 o> readline() -> 444:
154 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
161 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
155 i> write(98) -> 98:
162 i> write(98) -> 98:
156 i> between\n
163 i> between\n
157 i> pairs 81\n
164 i> pairs 81\n
158 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
165 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
159 o> readline() -> 2:
166 o> readline() -> 2:
160 o> 1\n
167 o> 1\n
161 o> readline() -> 1:
168 o> readline() -> 1:
162 o> \n
169 o> \n
163
170
164 SSH banner is not printed by default, ignored by clients
171 SSH banner is not printed by default, ignored by clients
165
172
166 $ SSHSERVERMODE=banner hg debugpeer ssh://user@dummy/server
173 $ SSHSERVERMODE=banner hg debugpeer ssh://user@dummy/server
167 url: ssh://user@dummy/server
174 url: ssh://user@dummy/server
168 local: no
175 local: no
169 pushable: yes
176 pushable: yes
170
177
171 --debug will print the banner
178 --debug will print the banner
172
179
173 $ SSHSERVERMODE=banner hg --debug debugpeer ssh://user@dummy/server
180 $ SSHSERVERMODE=banner hg --debug debugpeer ssh://user@dummy/server
174 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
181 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
175 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
182 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
176 devel-peer-request: hello+between
183 devel-peer-request: hello+between
177 devel-peer-request: pairs: 81 bytes
184 devel-peer-request: pairs: 81 bytes
178 sending hello command
185 sending hello command
179 sending between command
186 sending between command
180 remote: banner: line 0
187 remote: banner: line 0
181 remote: banner: line 1
188 remote: banner: line 1
182 remote: banner: line 2
189 remote: banner: line 2
183 remote: banner: line 3
190 remote: banner: line 3
184 remote: banner: line 4
191 remote: banner: line 4
185 remote: banner: line 5
192 remote: banner: line 5
186 remote: banner: line 6
193 remote: banner: line 6
187 remote: banner: line 7
194 remote: banner: line 7
188 remote: banner: line 8
195 remote: banner: line 8
189 remote: banner: line 9
196 remote: banner: line 9
190 remote: 444
197 remote: 444
191 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
198 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
192 remote: 1
199 remote: 1
193 devel-peer-request: protocaps
200 devel-peer-request: protocaps
194 devel-peer-request: caps: * bytes (glob)
201 devel-peer-request: caps: * bytes (glob)
195 sending protocaps command
202 sending protocaps command
196 url: ssh://user@dummy/server
203 url: ssh://user@dummy/server
197 local: no
204 local: no
198 pushable: yes
205 pushable: yes
199
206
200 And test the banner with the raw protocol
207 And test the banner with the raw protocol
201
208
202 $ SSHSERVERMODE=banner hg -R server debugwireproto --localssh --peer raw << EOF
209 $ SSHSERVERMODE=banner hg -R server debugwireproto --localssh --peer raw << EOF
203 > raw
210 > raw
204 > hello\n
211 > hello\n
205 > readline
212 > readline
206 > readline
213 > readline
207 > readline
214 > readline
208 > readline
215 > readline
209 > readline
216 > readline
210 > readline
217 > readline
211 > readline
218 > readline
212 > readline
219 > readline
213 > readline
220 > readline
214 > readline
221 > readline
215 > readline
222 > readline
216 > readline
223 > readline
217 > raw
224 > raw
218 > between\n
225 > between\n
219 > pairs 81\n
226 > pairs 81\n
220 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
227 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
221 > readline
228 > readline
222 > readline
229 > readline
223 > EOF
230 > EOF
224 using raw connection to peer
231 using raw connection to peer
225 i> write(6) -> 6:
232 i> write(6) -> 6:
226 i> hello\n
233 i> hello\n
227 o> readline() -> 15:
234 o> readline() -> 15:
228 o> banner: line 0\n
235 o> banner: line 0\n
229 o> readline() -> 15:
236 o> readline() -> 15:
230 o> banner: line 1\n
237 o> banner: line 1\n
231 o> readline() -> 15:
238 o> readline() -> 15:
232 o> banner: line 2\n
239 o> banner: line 2\n
233 o> readline() -> 15:
240 o> readline() -> 15:
234 o> banner: line 3\n
241 o> banner: line 3\n
235 o> readline() -> 15:
242 o> readline() -> 15:
236 o> banner: line 4\n
243 o> banner: line 4\n
237 o> readline() -> 15:
244 o> readline() -> 15:
238 o> banner: line 5\n
245 o> banner: line 5\n
239 o> readline() -> 15:
246 o> readline() -> 15:
240 o> banner: line 6\n
247 o> banner: line 6\n
241 o> readline() -> 15:
248 o> readline() -> 15:
242 o> banner: line 7\n
249 o> banner: line 7\n
243 o> readline() -> 15:
250 o> readline() -> 15:
244 o> banner: line 8\n
251 o> banner: line 8\n
245 o> readline() -> 15:
252 o> readline() -> 15:
246 o> banner: line 9\n
253 o> banner: line 9\n
247 o> readline() -> 4:
254 o> readline() -> 4:
248 o> 444\n
255 o> 444\n
249 o> readline() -> 444:
256 o> readline() -> 444:
250 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
257 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
251 i> write(98) -> 98:
258 i> write(98) -> 98:
252 i> between\n
259 i> between\n
253 i> pairs 81\n
260 i> pairs 81\n
254 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
261 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
255 o> readline() -> 2:
262 o> readline() -> 2:
256 o> 1\n
263 o> 1\n
257 o> readline() -> 1:
264 o> readline() -> 1:
258 o> \n
265 o> \n
259
266
260 Connecting to a <0.9.1 server that doesn't support the hello command.
267 Connecting to a <0.9.1 server that doesn't support the hello command.
261 The client should refuse, as we dropped support for connecting to such
268 The client should refuse, as we dropped support for connecting to such
262 servers.
269 servers.
263
270
264 $ SSHSERVERMODE=no-hello hg --debug debugpeer ssh://user@dummy/server
271 $ SSHSERVERMODE=no-hello hg --debug debugpeer ssh://user@dummy/server
265 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
272 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
266 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
273 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
267 devel-peer-request: hello+between
274 devel-peer-request: hello+between
268 devel-peer-request: pairs: 81 bytes
275 devel-peer-request: pairs: 81 bytes
269 sending hello command
276 sending hello command
270 sending between command
277 sending between command
271 remote: 0
278 remote: 0
272 remote: 1
279 remote: 1
273 abort: no suitable response from remote hg
280 abort: no suitable response from remote hg
274 [255]
281 [255]
275
282
276 Sending an unknown command to the server results in an empty response to that command
283 Sending an unknown command to the server results in an empty response to that command
277
284
278 $ hg -R server debugwireproto --localssh --peer raw << EOF
285 $ hg -R server debugwireproto --localssh --peer raw << EOF
279 > raw
286 > raw
280 > pre-hello\n
287 > pre-hello\n
281 > readline
288 > readline
282 > raw
289 > raw
283 > hello\n
290 > hello\n
284 > readline
291 > readline
285 > raw
292 > raw
286 > between\n
293 > between\n
287 > pairs 81\n
294 > pairs 81\n
288 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
295 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
289 > readline
296 > readline
290 > readline
297 > readline
291 > EOF
298 > EOF
292 using raw connection to peer
299 using raw connection to peer
293 i> write(10) -> 10:
300 i> write(10) -> 10:
294 i> pre-hello\n
301 i> pre-hello\n
295 o> readline() -> 2:
302 o> readline() -> 2:
296 o> 0\n
303 o> 0\n
297 i> write(6) -> 6:
304 i> write(6) -> 6:
298 i> hello\n
305 i> hello\n
299 o> readline() -> 4:
306 o> readline() -> 4:
300 o> 444\n
307 o> 444\n
301 i> write(98) -> 98:
308 i> write(98) -> 98:
302 i> between\n
309 i> between\n
303 i> pairs 81\n
310 i> pairs 81\n
304 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
311 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
305 o> readline() -> 444:
312 o> readline() -> 444:
306 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
313 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
307 o> readline() -> 2:
314 o> readline() -> 2:
308 o> 1\n
315 o> 1\n
309
316
310 $ hg --config sshpeer.mode=extra-handshake-commands --config sshpeer.handshake-mode=pre-no-args --debug debugpeer ssh://user@dummy/server
317 $ hg --config sshpeer.mode=extra-handshake-commands --config sshpeer.handshake-mode=pre-no-args --debug debugpeer ssh://user@dummy/server
311 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
318 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
312 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
319 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
313 sending no-args command
320 sending no-args command
314 devel-peer-request: hello+between
321 devel-peer-request: hello+between
315 devel-peer-request: pairs: 81 bytes
322 devel-peer-request: pairs: 81 bytes
316 sending hello command
323 sending hello command
317 sending between command
324 sending between command
318 remote: 0
325 remote: 0
319 remote: 444
326 remote: 444
320 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
327 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
321 remote: 1
328 remote: 1
322 devel-peer-request: protocaps
329 devel-peer-request: protocaps
323 devel-peer-request: caps: * bytes (glob)
330 devel-peer-request: caps: * bytes (glob)
324 sending protocaps command
331 sending protocaps command
325 url: ssh://user@dummy/server
332 url: ssh://user@dummy/server
326 local: no
333 local: no
327 pushable: yes
334 pushable: yes
328
335
329 Send multiple unknown commands before hello
336 Send multiple unknown commands before hello
330
337
331 $ hg -R server debugwireproto --localssh --peer raw << EOF
338 $ hg -R server debugwireproto --localssh --peer raw << EOF
332 > raw
339 > raw
333 > unknown1\n
340 > unknown1\n
334 > readline
341 > readline
335 > raw
342 > raw
336 > unknown2\n
343 > unknown2\n
337 > readline
344 > readline
338 > raw
345 > raw
339 > unknown3\n
346 > unknown3\n
340 > readline
347 > readline
341 > raw
348 > raw
342 > hello\n
349 > hello\n
343 > readline
350 > readline
344 > readline
351 > readline
345 > raw
352 > raw
346 > between\n
353 > between\n
347 > pairs 81\n
354 > pairs 81\n
348 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
355 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
349 > readline
356 > readline
350 > readline
357 > readline
351 > EOF
358 > EOF
352 using raw connection to peer
359 using raw connection to peer
353 i> write(9) -> 9:
360 i> write(9) -> 9:
354 i> unknown1\n
361 i> unknown1\n
355 o> readline() -> 2:
362 o> readline() -> 2:
356 o> 0\n
363 o> 0\n
357 i> write(9) -> 9:
364 i> write(9) -> 9:
358 i> unknown2\n
365 i> unknown2\n
359 o> readline() -> 2:
366 o> readline() -> 2:
360 o> 0\n
367 o> 0\n
361 i> write(9) -> 9:
368 i> write(9) -> 9:
362 i> unknown3\n
369 i> unknown3\n
363 o> readline() -> 2:
370 o> readline() -> 2:
364 o> 0\n
371 o> 0\n
365 i> write(6) -> 6:
372 i> write(6) -> 6:
366 i> hello\n
373 i> hello\n
367 o> readline() -> 4:
374 o> readline() -> 4:
368 o> 444\n
375 o> 444\n
369 o> readline() -> 444:
376 o> readline() -> 444:
370 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
377 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
371 i> write(98) -> 98:
378 i> write(98) -> 98:
372 i> between\n
379 i> between\n
373 i> pairs 81\n
380 i> pairs 81\n
374 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
381 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
375 o> readline() -> 2:
382 o> readline() -> 2:
376 o> 1\n
383 o> 1\n
377 o> readline() -> 1:
384 o> readline() -> 1:
378 o> \n
385 o> \n
379
386
380 $ hg --config sshpeer.mode=extra-handshake-commands --config sshpeer.handshake-mode=pre-multiple-no-args --debug debugpeer ssh://user@dummy/server
387 $ hg --config sshpeer.mode=extra-handshake-commands --config sshpeer.handshake-mode=pre-multiple-no-args --debug debugpeer ssh://user@dummy/server
381 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
388 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
382 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
389 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
383 sending unknown1 command
390 sending unknown1 command
384 sending unknown2 command
391 sending unknown2 command
385 sending unknown3 command
392 sending unknown3 command
386 devel-peer-request: hello+between
393 devel-peer-request: hello+between
387 devel-peer-request: pairs: 81 bytes
394 devel-peer-request: pairs: 81 bytes
388 sending hello command
395 sending hello command
389 sending between command
396 sending between command
390 remote: 0
397 remote: 0
391 remote: 0
398 remote: 0
392 remote: 0
399 remote: 0
393 remote: 444
400 remote: 444
394 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
401 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
395 remote: 1
402 remote: 1
396 devel-peer-request: protocaps
403 devel-peer-request: protocaps
397 devel-peer-request: caps: * bytes (glob)
404 devel-peer-request: caps: * bytes (glob)
398 sending protocaps command
405 sending protocaps command
399 url: ssh://user@dummy/server
406 url: ssh://user@dummy/server
400 local: no
407 local: no
401 pushable: yes
408 pushable: yes
402
409
403 Send an unknown command before hello that has arguments
410 Send an unknown command before hello that has arguments
404
411
405 $ cd server
412 $ cd server
406
413
407 $ hg debugwireproto --localssh --peer raw << EOF
414 $ hg debugwireproto --localssh --peer raw << EOF
408 > raw
415 > raw
409 > with-args\n
416 > with-args\n
410 > foo 13\n
417 > foo 13\n
411 > value for foo\n
418 > value for foo\n
412 > bar 13\n
419 > bar 13\n
413 > value for bar\n
420 > value for bar\n
414 > readline
421 > readline
415 > readline
422 > readline
416 > readline
423 > readline
417 > readline
424 > readline
418 > readline
425 > readline
419 > raw
426 > raw
420 > hello\n
427 > hello\n
421 > readline
428 > readline
422 > readline
429 > readline
423 > raw
430 > raw
424 > between\n
431 > between\n
425 > pairs 81\n
432 > pairs 81\n
426 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
433 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
427 > readline
434 > readline
428 > readline
435 > readline
429 > EOF
436 > EOF
430 using raw connection to peer
437 using raw connection to peer
431 i> write(52) -> 52:
438 i> write(52) -> 52:
432 i> with-args\n
439 i> with-args\n
433 i> foo 13\n
440 i> foo 13\n
434 i> value for foo\n
441 i> value for foo\n
435 i> bar 13\n
442 i> bar 13\n
436 i> value for bar\n
443 i> value for bar\n
437 o> readline() -> 2:
444 o> readline() -> 2:
438 o> 0\n
445 o> 0\n
439 o> readline() -> 2:
446 o> readline() -> 2:
440 o> 0\n
447 o> 0\n
441 o> readline() -> 2:
448 o> readline() -> 2:
442 o> 0\n
449 o> 0\n
443 o> readline() -> 2:
450 o> readline() -> 2:
444 o> 0\n
451 o> 0\n
445 o> readline() -> 2:
452 o> readline() -> 2:
446 o> 0\n
453 o> 0\n
447 i> write(6) -> 6:
454 i> write(6) -> 6:
448 i> hello\n
455 i> hello\n
449 o> readline() -> 4:
456 o> readline() -> 4:
450 o> 444\n
457 o> 444\n
451 o> readline() -> 444:
458 o> readline() -> 444:
452 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
459 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
453 i> write(98) -> 98:
460 i> write(98) -> 98:
454 i> between\n
461 i> between\n
455 i> pairs 81\n
462 i> pairs 81\n
456 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
463 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
457 o> readline() -> 2:
464 o> readline() -> 2:
458 o> 1\n
465 o> 1\n
459 o> readline() -> 1:
466 o> readline() -> 1:
460 o> \n
467 o> \n
461
468
462 Send an unknown command having an argument that looks numeric
469 Send an unknown command having an argument that looks numeric
463
470
464 $ hg debugwireproto --localssh --peer raw << EOF
471 $ hg debugwireproto --localssh --peer raw << EOF
465 > raw
472 > raw
466 > unknown\n
473 > unknown\n
467 > foo 1\n
474 > foo 1\n
468 > 0\n
475 > 0\n
469 > readline
476 > readline
470 > readline
477 > readline
471 > readline
478 > readline
472 > raw
479 > raw
473 > hello\n
480 > hello\n
474 > readline
481 > readline
475 > readline
482 > readline
476 > raw
483 > raw
477 > between\n
484 > between\n
478 > pairs 81\n
485 > pairs 81\n
479 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
486 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
480 > readline
487 > readline
481 > readline
488 > readline
482 > EOF
489 > EOF
483 using raw connection to peer
490 using raw connection to peer
484 i> write(16) -> 16:
491 i> write(16) -> 16:
485 i> unknown\n
492 i> unknown\n
486 i> foo 1\n
493 i> foo 1\n
487 i> 0\n
494 i> 0\n
488 o> readline() -> 2:
495 o> readline() -> 2:
489 o> 0\n
496 o> 0\n
490 o> readline() -> 2:
497 o> readline() -> 2:
491 o> 0\n
498 o> 0\n
492 o> readline() -> 2:
499 o> readline() -> 2:
493 o> 0\n
500 o> 0\n
494 i> write(6) -> 6:
501 i> write(6) -> 6:
495 i> hello\n
502 i> hello\n
496 o> readline() -> 4:
503 o> readline() -> 4:
497 o> 444\n
504 o> 444\n
498 o> readline() -> 444:
505 o> readline() -> 444:
499 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
506 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
500 i> write(98) -> 98:
507 i> write(98) -> 98:
501 i> between\n
508 i> between\n
502 i> pairs 81\n
509 i> pairs 81\n
503 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
510 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
504 o> readline() -> 2:
511 o> readline() -> 2:
505 o> 1\n
512 o> 1\n
506 o> readline() -> 1:
513 o> readline() -> 1:
507 o> \n
514 o> \n
508
515
509 $ hg debugwireproto --localssh --peer raw << EOF
516 $ hg debugwireproto --localssh --peer raw << EOF
510 > raw
517 > raw
511 > unknown\n
518 > unknown\n
512 > foo 1\n
519 > foo 1\n
513 > 1\n
520 > 1\n
514 > readline
521 > readline
515 > readline
522 > readline
516 > readline
523 > readline
517 > raw
524 > raw
518 > hello\n
525 > hello\n
519 > readline
526 > readline
520 > readline
527 > readline
521 > raw
528 > raw
522 > between\n
529 > between\n
523 > pairs 81\n
530 > pairs 81\n
524 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
531 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
525 > readline
532 > readline
526 > readline
533 > readline
527 > EOF
534 > EOF
528 using raw connection to peer
535 using raw connection to peer
529 i> write(16) -> 16:
536 i> write(16) -> 16:
530 i> unknown\n
537 i> unknown\n
531 i> foo 1\n
538 i> foo 1\n
532 i> 1\n
539 i> 1\n
533 o> readline() -> 2:
540 o> readline() -> 2:
534 o> 0\n
541 o> 0\n
535 o> readline() -> 2:
542 o> readline() -> 2:
536 o> 0\n
543 o> 0\n
537 o> readline() -> 2:
544 o> readline() -> 2:
538 o> 0\n
545 o> 0\n
539 i> write(6) -> 6:
546 i> write(6) -> 6:
540 i> hello\n
547 i> hello\n
541 o> readline() -> 4:
548 o> readline() -> 4:
542 o> 444\n
549 o> 444\n
543 o> readline() -> 444:
550 o> readline() -> 444:
544 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
551 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
545 i> write(98) -> 98:
552 i> write(98) -> 98:
546 i> between\n
553 i> between\n
547 i> pairs 81\n
554 i> pairs 81\n
548 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
555 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
549 o> readline() -> 2:
556 o> readline() -> 2:
550 o> 1\n
557 o> 1\n
551 o> readline() -> 1:
558 o> readline() -> 1:
552 o> \n
559 o> \n
553
560
554 When sending a dict argument value, it is serialized to
561 When sending a dict argument value, it is serialized to
555 "<arg> <item count>" followed by "<key> <len>\n<value>" for each item
562 "<arg> <item count>" followed by "<key> <len>\n<value>" for each item
556 in the dict.
563 in the dict.
557
564
558 Dictionary value for unknown command
565 Dictionary value for unknown command
559
566
560 $ hg debugwireproto --localssh --peer raw << EOF
567 $ hg debugwireproto --localssh --peer raw << EOF
561 > raw
568 > raw
562 > unknown\n
569 > unknown\n
563 > dict 3\n
570 > dict 3\n
564 > key1 3\n
571 > key1 3\n
565 > foo\n
572 > foo\n
566 > key2 3\n
573 > key2 3\n
567 > bar\n
574 > bar\n
568 > key3 3\n
575 > key3 3\n
569 > baz\n
576 > baz\n
570 > readline
577 > readline
571 > readline
578 > readline
572 > readline
579 > readline
573 > readline
580 > readline
574 > readline
581 > readline
575 > readline
582 > readline
576 > readline
583 > readline
577 > readline
584 > readline
578 > raw
585 > raw
579 > hello\n
586 > hello\n
580 > readline
587 > readline
581 > readline
588 > readline
582 > EOF
589 > EOF
583 using raw connection to peer
590 using raw connection to peer
584 i> write(48) -> 48:
591 i> write(48) -> 48:
585 i> unknown\n
592 i> unknown\n
586 i> dict 3\n
593 i> dict 3\n
587 i> key1 3\n
594 i> key1 3\n
588 i> foo\n
595 i> foo\n
589 i> key2 3\n
596 i> key2 3\n
590 i> bar\n
597 i> bar\n
591 i> key3 3\n
598 i> key3 3\n
592 i> baz\n
599 i> baz\n
593 o> readline() -> 2:
600 o> readline() -> 2:
594 o> 0\n
601 o> 0\n
595 o> readline() -> 2:
602 o> readline() -> 2:
596 o> 0\n
603 o> 0\n
597 o> readline() -> 2:
604 o> readline() -> 2:
598 o> 0\n
605 o> 0\n
599 o> readline() -> 2:
606 o> readline() -> 2:
600 o> 0\n
607 o> 0\n
601 o> readline() -> 2:
608 o> readline() -> 2:
602 o> 0\n
609 o> 0\n
603 o> readline() -> 2:
610 o> readline() -> 2:
604 o> 0\n
611 o> 0\n
605 o> readline() -> 2:
612 o> readline() -> 2:
606 o> 0\n
613 o> 0\n
607 o> readline() -> 2:
614 o> readline() -> 2:
608 o> 0\n
615 o> 0\n
609 i> write(6) -> 6:
616 i> write(6) -> 6:
610 i> hello\n
617 i> hello\n
611 o> readline() -> 4:
618 o> readline() -> 4:
612 o> 444\n
619 o> 444\n
613 o> readline() -> 444:
620 o> readline() -> 444:
614 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
621 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
615
622
616 Incomplete dictionary send
623 Incomplete dictionary send
617
624
618 $ hg debugwireproto --localssh --peer raw << EOF
625 $ hg debugwireproto --localssh --peer raw << EOF
619 > raw
626 > raw
620 > unknown\n
627 > unknown\n
621 > dict 3\n
628 > dict 3\n
622 > key1 3\n
629 > key1 3\n
623 > foo\n
630 > foo\n
624 > readline
631 > readline
625 > readline
632 > readline
626 > readline
633 > readline
627 > readline
634 > readline
628 > EOF
635 > EOF
629 using raw connection to peer
636 using raw connection to peer
630 i> write(26) -> 26:
637 i> write(26) -> 26:
631 i> unknown\n
638 i> unknown\n
632 i> dict 3\n
639 i> dict 3\n
633 i> key1 3\n
640 i> key1 3\n
634 i> foo\n
641 i> foo\n
635 o> readline() -> 2:
642 o> readline() -> 2:
636 o> 0\n
643 o> 0\n
637 o> readline() -> 2:
644 o> readline() -> 2:
638 o> 0\n
645 o> 0\n
639 o> readline() -> 2:
646 o> readline() -> 2:
640 o> 0\n
647 o> 0\n
641 o> readline() -> 2:
648 o> readline() -> 2:
642 o> 0\n
649 o> 0\n
643
650
644 Incomplete value send
651 Incomplete value send
645
652
646 $ hg debugwireproto --localssh --peer raw << EOF
653 $ hg debugwireproto --localssh --peer raw << EOF
647 > raw
654 > raw
648 > unknown\n
655 > unknown\n
649 > dict 3\n
656 > dict 3\n
650 > key1 3\n
657 > key1 3\n
651 > fo
658 > fo
652 > readline
659 > readline
653 > readline
660 > readline
654 > readline
661 > readline
655 > EOF
662 > EOF
656 using raw connection to peer
663 using raw connection to peer
657 i> write(24) -> 24:
664 i> write(24) -> 24:
658 i> unknown\n
665 i> unknown\n
659 i> dict 3\n
666 i> dict 3\n
660 i> key1 3\n
667 i> key1 3\n
661 i> fo
668 i> fo
662 o> readline() -> 2:
669 o> readline() -> 2:
663 o> 0\n
670 o> 0\n
664 o> readline() -> 2:
671 o> readline() -> 2:
665 o> 0\n
672 o> 0\n
666 o> readline() -> 2:
673 o> readline() -> 2:
667 o> 0\n
674 o> 0\n
668
675
669 Send a command line with spaces
676 Send a command line with spaces
670
677
671 $ hg debugwireproto --localssh --peer raw << EOF
678 $ hg debugwireproto --localssh --peer raw << EOF
672 > raw
679 > raw
673 > unknown withspace\n
680 > unknown withspace\n
674 > readline
681 > readline
675 > raw
682 > raw
676 > hello\n
683 > hello\n
677 > readline
684 > readline
678 > readline
685 > readline
679 > raw
686 > raw
680 > between\n
687 > between\n
681 > pairs 81\n
688 > pairs 81\n
682 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
689 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
683 > readline
690 > readline
684 > readline
691 > readline
685 > EOF
692 > EOF
686 using raw connection to peer
693 using raw connection to peer
687 i> write(18) -> 18:
694 i> write(18) -> 18:
688 i> unknown withspace\n
695 i> unknown withspace\n
689 o> readline() -> 2:
696 o> readline() -> 2:
690 o> 0\n
697 o> 0\n
691 i> write(6) -> 6:
698 i> write(6) -> 6:
692 i> hello\n
699 i> hello\n
693 o> readline() -> 4:
700 o> readline() -> 4:
694 o> 444\n
701 o> 444\n
695 o> readline() -> 444:
702 o> readline() -> 444:
696 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
703 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
697 i> write(98) -> 98:
704 i> write(98) -> 98:
698 i> between\n
705 i> between\n
699 i> pairs 81\n
706 i> pairs 81\n
700 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
707 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
701 o> readline() -> 2:
708 o> readline() -> 2:
702 o> 1\n
709 o> 1\n
703 o> readline() -> 1:
710 o> readline() -> 1:
704 o> \n
711 o> \n
705
712
706 $ hg debugwireproto --localssh --peer raw << EOF
713 $ hg debugwireproto --localssh --peer raw << EOF
707 > raw
714 > raw
708 > unknown with multiple spaces\n
715 > unknown with multiple spaces\n
709 > readline
716 > readline
710 > raw
717 > raw
711 > hello\n
718 > hello\n
712 > readline
719 > readline
713 > readline
720 > readline
714 > raw
721 > raw
715 > between\n
722 > between\n
716 > pairs 81\n
723 > pairs 81\n
717 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
724 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
718 > readline
725 > readline
719 > EOF
726 > EOF
720 using raw connection to peer
727 using raw connection to peer
721 i> write(29) -> 29:
728 i> write(29) -> 29:
722 i> unknown with multiple spaces\n
729 i> unknown with multiple spaces\n
723 o> readline() -> 2:
730 o> readline() -> 2:
724 o> 0\n
731 o> 0\n
725 i> write(6) -> 6:
732 i> write(6) -> 6:
726 i> hello\n
733 i> hello\n
727 o> readline() -> 4:
734 o> readline() -> 4:
728 o> 444\n
735 o> 444\n
729 o> readline() -> 444:
736 o> readline() -> 444:
730 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
737 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
731 i> write(98) -> 98:
738 i> write(98) -> 98:
732 i> between\n
739 i> between\n
733 i> pairs 81\n
740 i> pairs 81\n
734 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
741 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
735 o> readline() -> 2:
742 o> readline() -> 2:
736 o> 1\n
743 o> 1\n
737
744
738 $ hg debugwireproto --localssh --peer raw << EOF
745 $ hg debugwireproto --localssh --peer raw << EOF
739 > raw
746 > raw
740 > unknown with spaces\n
747 > unknown with spaces\n
741 > key 10\n
748 > key 10\n
742 > some value\n
749 > some value\n
743 > readline
750 > readline
744 > readline
751 > readline
745 > readline
752 > readline
746 > raw
753 > raw
747 > hello\n
754 > hello\n
748 > readline
755 > readline
749 > readline
756 > readline
750 > raw
757 > raw
751 > between\n
758 > between\n
752 > pairs 81\n
759 > pairs 81\n
753 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
760 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
754 > readline
761 > readline
755 > readline
762 > readline
756 > EOF
763 > EOF
757 using raw connection to peer
764 using raw connection to peer
758 i> write(38) -> 38:
765 i> write(38) -> 38:
759 i> unknown with spaces\n
766 i> unknown with spaces\n
760 i> key 10\n
767 i> key 10\n
761 i> some value\n
768 i> some value\n
762 o> readline() -> 2:
769 o> readline() -> 2:
763 o> 0\n
770 o> 0\n
764 o> readline() -> 2:
771 o> readline() -> 2:
765 o> 0\n
772 o> 0\n
766 o> readline() -> 2:
773 o> readline() -> 2:
767 o> 0\n
774 o> 0\n
768 i> write(6) -> 6:
775 i> write(6) -> 6:
769 i> hello\n
776 i> hello\n
770 o> readline() -> 4:
777 o> readline() -> 4:
771 o> 444\n
778 o> 444\n
772 o> readline() -> 444:
779 o> readline() -> 444:
773 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
780 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
774 i> write(98) -> 98:
781 i> write(98) -> 98:
775 i> between\n
782 i> between\n
776 i> pairs 81\n
783 i> pairs 81\n
777 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
784 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
778 o> readline() -> 2:
785 o> readline() -> 2:
779 o> 1\n
786 o> 1\n
780 o> readline() -> 1:
787 o> readline() -> 1:
781 o> \n
788 o> \n
782 Send an unknown command after the "between"
789 Send an unknown command after the "between"
783
790
784 $ hg debugwireproto --localssh --peer raw << EOF
791 $ hg debugwireproto --localssh --peer raw << EOF
785 > raw
792 > raw
786 > hello\n
793 > hello\n
787 > readline
794 > readline
788 > readline
795 > readline
789 > raw
796 > raw
790 > between\n
797 > between\n
791 > pairs 81\n
798 > pairs 81\n
792 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000unknown
799 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000unknown
793 > readline
800 > readline
794 > readline
801 > readline
795 > EOF
802 > EOF
796 using raw connection to peer
803 using raw connection to peer
797 i> write(6) -> 6:
804 i> write(6) -> 6:
798 i> hello\n
805 i> hello\n
799 o> readline() -> 4:
806 o> readline() -> 4:
800 o> 444\n
807 o> 444\n
801 o> readline() -> 444:
808 o> readline() -> 444:
802 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
809 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
803 i> write(105) -> 105:
810 i> write(105) -> 105:
804 i> between\n
811 i> between\n
805 i> pairs 81\n
812 i> pairs 81\n
806 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000unknown
813 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000unknown
807 o> readline() -> 2:
814 o> readline() -> 2:
808 o> 1\n
815 o> 1\n
809 o> readline() -> 1:
816 o> readline() -> 1:
810 o> \n
817 o> \n
811
818
812 And one with arguments
819 And one with arguments
813
820
814 $ hg debugwireproto --localssh --peer raw << EOF
821 $ hg debugwireproto --localssh --peer raw << EOF
815 > raw
822 > raw
816 > hello\n
823 > hello\n
817 > between\n
824 > between\n
818 > pairs 81\n
825 > pairs 81\n
819 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
826 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
820 > readline
827 > readline
821 > readline
828 > readline
822 > readline
829 > readline
823 > readline
830 > readline
824 > raw
831 > raw
825 > unknown\n
832 > unknown\n
826 > foo 5\n
833 > foo 5\n
827 > \nvalue\n
834 > \nvalue\n
828 > bar 3\n
835 > bar 3\n
829 > baz\n
836 > baz\n
830 > readline
837 > readline
831 > readline
838 > readline
832 > readline
839 > readline
833 > EOF
840 > EOF
834 using raw connection to peer
841 using raw connection to peer
835 i> write(104) -> 104:
842 i> write(104) -> 104:
836 i> hello\n
843 i> hello\n
837 i> between\n
844 i> between\n
838 i> pairs 81\n
845 i> pairs 81\n
839 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
846 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
840 o> readline() -> 4:
847 o> readline() -> 4:
841 o> 444\n
848 o> 444\n
842 o> readline() -> 444:
849 o> readline() -> 444:
843 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
850 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
844 o> readline() -> 2:
851 o> readline() -> 2:
845 o> 1\n
852 o> 1\n
846 o> readline() -> 1:
853 o> readline() -> 1:
847 o> \n
854 o> \n
848 i> write(31) -> 31:
855 i> write(31) -> 31:
849 i> unknown\n
856 i> unknown\n
850 i> foo 5\n
857 i> foo 5\n
851 i> \n
858 i> \n
852 i> value\n
859 i> value\n
853 i> bar 3\n
860 i> bar 3\n
854 i> baz\n
861 i> baz\n
855 o> readline() -> 2:
862 o> readline() -> 2:
856 o> 0\n
863 o> 0\n
857 o> readline() -> 2:
864 o> readline() -> 2:
858 o> 0\n
865 o> 0\n
859 o> readline() -> 0:
866 o> readline() -> 0:
860
867
861 Send a valid command before the handshake
868 Send a valid command before the handshake
862
869
863 $ hg debugwireproto --localssh --peer raw << EOF
870 $ hg debugwireproto --localssh --peer raw << EOF
864 > raw
871 > raw
865 > heads\n
872 > heads\n
866 > readline
873 > readline
867 > raw
874 > raw
868 > hello\n
875 > hello\n
869 > between\n
876 > between\n
870 > pairs 81\n
877 > pairs 81\n
871 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
878 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
872 > readline
879 > readline
873 > readline
880 > readline
874 > readline
881 > readline
875 > readline
882 > readline
876 > EOF
883 > EOF
877 using raw connection to peer
884 using raw connection to peer
878 i> write(6) -> 6:
885 i> write(6) -> 6:
879 i> heads\n
886 i> heads\n
880 o> readline() -> 3:
887 o> readline() -> 3:
881 o> 41\n
888 o> 41\n
882 i> write(104) -> 104:
889 i> write(104) -> 104:
883 i> hello\n
890 i> hello\n
884 i> between\n
891 i> between\n
885 i> pairs 81\n
892 i> pairs 81\n
886 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
893 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
887 o> readline() -> 41:
894 o> readline() -> 41:
888 o> 68986213bd4485ea51533535e3fc9e78007a711f\n
895 o> 68986213bd4485ea51533535e3fc9e78007a711f\n
889 o> readline() -> 4:
896 o> readline() -> 4:
890 o> 444\n
897 o> 444\n
891 o> readline() -> 444:
898 o> readline() -> 444:
892 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
899 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
893 o> readline() -> 2:
900 o> readline() -> 2:
894 o> 1\n
901 o> 1\n
895
902
896 And a variation that doesn't send the between command
903 And a variation that doesn't send the between command
897
904
898 $ hg debugwireproto --localssh --peer raw << EOF
905 $ hg debugwireproto --localssh --peer raw << EOF
899 > raw
906 > raw
900 > heads\n
907 > heads\n
901 > readline
908 > readline
902 > raw
909 > raw
903 > hello\n
910 > hello\n
904 > readline
911 > readline
905 > readline
912 > readline
906 > EOF
913 > EOF
907 using raw connection to peer
914 using raw connection to peer
908 i> write(6) -> 6:
915 i> write(6) -> 6:
909 i> heads\n
916 i> heads\n
910 o> readline() -> 3:
917 o> readline() -> 3:
911 o> 41\n
918 o> 41\n
912 i> write(6) -> 6:
919 i> write(6) -> 6:
913 i> hello\n
920 i> hello\n
914 o> readline() -> 41:
921 o> readline() -> 41:
915 o> 68986213bd4485ea51533535e3fc9e78007a711f\n
922 o> 68986213bd4485ea51533535e3fc9e78007a711f\n
916 o> readline() -> 4:
923 o> readline() -> 4:
917 o> 444\n
924 o> 444\n
918
925
919 Send an upgrade request to a server that doesn't support that command
926 Send an upgrade request to a server that doesn't support that command
920
927
921 $ hg debugwireproto --localssh --peer raw << EOF
928 $ hg debugwireproto --localssh --peer raw << EOF
922 > raw
929 > raw
923 > upgrade 2e82ab3f-9ce3-4b4e-8f8c-6fd1c0e9e23a proto=irrelevant1%2Cirrelevant2\n
930 > upgrade 2e82ab3f-9ce3-4b4e-8f8c-6fd1c0e9e23a proto=irrelevant1%2Cirrelevant2\n
924 > readline
931 > readline
925 > raw
932 > raw
926 > hello\n
933 > hello\n
927 > between\n
934 > between\n
928 > pairs 81\n
935 > pairs 81\n
929 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
936 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
930 > readline
937 > readline
931 > readline
938 > readline
932 > readline
939 > readline
933 > readline
940 > readline
934 > EOF
941 > EOF
935 using raw connection to peer
942 using raw connection to peer
936 i> write(77) -> 77:
943 i> write(77) -> 77:
937 i> upgrade 2e82ab3f-9ce3-4b4e-8f8c-6fd1c0e9e23a proto=irrelevant1%2Cirrelevant2\n
944 i> upgrade 2e82ab3f-9ce3-4b4e-8f8c-6fd1c0e9e23a proto=irrelevant1%2Cirrelevant2\n
938 o> readline() -> 2:
945 o> readline() -> 2:
939 o> 0\n
946 o> 0\n
940 i> write(104) -> 104:
947 i> write(104) -> 104:
941 i> hello\n
948 i> hello\n
942 i> between\n
949 i> between\n
943 i> pairs 81\n
950 i> pairs 81\n
944 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
951 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
945 o> readline() -> 4:
952 o> readline() -> 4:
946 o> 444\n
953 o> 444\n
947 o> readline() -> 444:
954 o> readline() -> 444:
948 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
955 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
949 o> readline() -> 2:
956 o> readline() -> 2:
950 o> 1\n
957 o> 1\n
951 o> readline() -> 1:
958 o> readline() -> 1:
952 o> \n
959 o> \n
953
960
954 $ cd ..
961 $ cd ..
955
962
956 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
963 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
957 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
964 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
958 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
965 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
959 sending upgrade request: * proto=exp-ssh-v2-0003 (glob)
966 sending upgrade request: * proto=exp-ssh-v2-0003 (glob)
960 devel-peer-request: hello+between
967 devel-peer-request: hello+between
961 devel-peer-request: pairs: 81 bytes
968 devel-peer-request: pairs: 81 bytes
962 sending hello command
969 sending hello command
963 sending between command
970 sending between command
964 remote: 0
971 remote: 0
965 remote: 444
972 remote: 444
966 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
973 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
967 remote: 1
974 remote: 1
968 devel-peer-request: protocaps
975 devel-peer-request: protocaps
969 devel-peer-request: caps: * bytes (glob)
976 devel-peer-request: caps: * bytes (glob)
970 sending protocaps command
977 sending protocaps command
971 url: ssh://user@dummy/server
978 url: ssh://user@dummy/server
972 local: no
979 local: no
973 pushable: yes
980 pushable: yes
974
981
975 Enable version 2 support on server. We need to do this in hgrc because we can't
982 Enable version 2 support on server. We need to do this in hgrc because we can't
976 use --config with `hg serve --stdio`.
983 use --config with `hg serve --stdio`.
977
984
978 $ cat >> server/.hg/hgrc << EOF
985 $ cat >> server/.hg/hgrc << EOF
979 > [experimental]
986 > [experimental]
980 > sshserver.support-v2 = true
987 > sshserver.support-v2 = true
981 > EOF
988 > EOF
982
989
983 Send an upgrade request to a server that supports upgrade
990 Send an upgrade request to a server that supports upgrade
984
991
985 $ cd server
992 $ cd server
986
993
987 $ hg debugwireproto --localssh --peer raw << EOF
994 $ hg debugwireproto --localssh --peer raw << EOF
988 > raw
995 > raw
989 > upgrade this-is-some-token proto=exp-ssh-v2-0003\n
996 > upgrade this-is-some-token proto=exp-ssh-v2-0003\n
990 > hello\n
997 > hello\n
991 > between\n
998 > between\n
992 > pairs 81\n
999 > pairs 81\n
993 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1000 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
994 > readline
1001 > readline
995 > readline
1002 > readline
996 > readline
1003 > readline
997 > EOF
1004 > EOF
998 using raw connection to peer
1005 using raw connection to peer
999 i> write(153) -> 153:
1006 i> write(153) -> 153:
1000 i> upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1007 i> upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1001 i> hello\n
1008 i> hello\n
1002 i> between\n
1009 i> between\n
1003 i> pairs 81\n
1010 i> pairs 81\n
1004 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1011 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1005 o> readline() -> 44:
1012 o> readline() -> 44:
1006 o> upgraded this-is-some-token exp-ssh-v2-0003\n
1013 o> upgraded this-is-some-token exp-ssh-v2-0003\n
1007 o> readline() -> 4:
1014 o> readline() -> 4:
1008 o> 443\n
1015 o> 443\n
1009 o> readline() -> 444:
1016 o> readline() -> 444:
1010 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1017 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1011
1018
1012 $ cd ..
1019 $ cd ..
1013
1020
1014 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
1021 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugpeer ssh://user@dummy/server
1015 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1022 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1016 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1023 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1017 sending upgrade request: * proto=exp-ssh-v2-0003 (glob)
1024 sending upgrade request: * proto=exp-ssh-v2-0003 (glob)
1018 devel-peer-request: hello+between
1025 devel-peer-request: hello+between
1019 devel-peer-request: pairs: 81 bytes
1026 devel-peer-request: pairs: 81 bytes
1020 sending hello command
1027 sending hello command
1021 sending between command
1028 sending between command
1022 protocol upgraded to exp-ssh-v2-0003
1029 protocol upgraded to exp-ssh-v2-0003
1023 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1030 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1024 devel-peer-request: protocaps
1031 devel-peer-request: protocaps
1025 devel-peer-request: caps: * bytes (glob)
1032 devel-peer-request: caps: * bytes (glob)
1026 sending protocaps command
1033 sending protocaps command
1027 url: ssh://user@dummy/server
1034 url: ssh://user@dummy/server
1028 local: no
1035 local: no
1029 pushable: yes
1036 pushable: yes
1030
1037
1031 Verify the peer has capabilities
1038 Verify the peer has capabilities
1032
1039
1033 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugcapabilities ssh://user@dummy/server
1040 $ hg --config experimental.sshpeer.advertise-v2=true --debug debugcapabilities ssh://user@dummy/server
1034 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1041 running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) (no-windows !)
1035 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1042 running * "*\tests/dummyssh" "user@dummy" "hg -R server serve --stdio" (glob) (windows !)
1036 sending upgrade request: * proto=exp-ssh-v2-0003 (glob)
1043 sending upgrade request: * proto=exp-ssh-v2-0003 (glob)
1037 devel-peer-request: hello+between
1044 devel-peer-request: hello+between
1038 devel-peer-request: pairs: 81 bytes
1045 devel-peer-request: pairs: 81 bytes
1039 sending hello command
1046 sending hello command
1040 sending between command
1047 sending between command
1041 protocol upgraded to exp-ssh-v2-0003
1048 protocol upgraded to exp-ssh-v2-0003
1042 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1049 remote: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1043 devel-peer-request: protocaps
1050 devel-peer-request: protocaps
1044 devel-peer-request: caps: * bytes (glob)
1051 devel-peer-request: caps: * bytes (glob)
1045 sending protocaps command
1052 sending protocaps command
1046 Main capabilities:
1053 Main capabilities:
1047 batch
1054 batch
1048 branchmap
1055 branchmap
1049 $USUAL_BUNDLE2_CAPS$
1056 $USUAL_BUNDLE2_CAPS$
1050 changegroupsubset
1057 changegroupsubset
1051 getbundle
1058 getbundle
1052 known
1059 known
1053 lookup
1060 lookup
1054 protocaps
1061 protocaps
1055 pushkey
1062 pushkey
1056 streamreqs=generaldelta,revlogv1,sparserevlog
1063 streamreqs=generaldelta,revlogv1,sparserevlog
1057 unbundle=HG10GZ,HG10BZ,HG10UN
1064 unbundle=HG10GZ,HG10BZ,HG10UN
1058 unbundlehash
1065 unbundlehash
1059 Bundle2 capabilities:
1066 Bundle2 capabilities:
1060 HG20
1067 HG20
1061 bookmarks
1068 bookmarks
1062 changegroup
1069 changegroup
1063 01
1070 01
1064 02
1071 02
1065 checkheads
1072 checkheads
1066 related
1073 related
1067 digests
1074 digests
1068 md5
1075 md5
1069 sha1
1076 sha1
1070 sha512
1077 sha512
1071 error
1078 error
1072 abort
1079 abort
1073 unsupportedcontent
1080 unsupportedcontent
1074 pushraced
1081 pushraced
1075 pushkey
1082 pushkey
1076 hgtagsfnodes
1083 hgtagsfnodes
1077 listkeys
1084 listkeys
1078 phases
1085 phases
1079 heads
1086 heads
1080 pushkey
1087 pushkey
1081 remote-changegroup
1088 remote-changegroup
1082 http
1089 http
1083 https
1090 https
1084 stream
1091 stream
1085 v2
1092 v2
1086
1093
1087 Command after upgrade to version 2 is processed
1094 Command after upgrade to version 2 is processed
1088
1095
1089 $ cd server
1096 $ cd server
1090
1097
1091 $ hg debugwireproto --localssh --peer raw << EOF
1098 $ hg debugwireproto --localssh --peer raw << EOF
1092 > raw
1099 > raw
1093 > upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1100 > upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1094 > hello\n
1101 > hello\n
1095 > between\n
1102 > between\n
1096 > pairs 81\n
1103 > pairs 81\n
1097 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1104 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1098 > readline
1105 > readline
1099 > readline
1106 > readline
1100 > readline
1107 > readline
1101 > raw
1108 > raw
1102 > hello\n
1109 > hello\n
1103 > readline
1110 > readline
1104 > readline
1111 > readline
1105 > EOF
1112 > EOF
1106 using raw connection to peer
1113 using raw connection to peer
1107 i> write(153) -> 153:
1114 i> write(153) -> 153:
1108 i> upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1115 i> upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1109 i> hello\n
1116 i> hello\n
1110 i> between\n
1117 i> between\n
1111 i> pairs 81\n
1118 i> pairs 81\n
1112 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1119 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1113 o> readline() -> 44:
1120 o> readline() -> 44:
1114 o> upgraded this-is-some-token exp-ssh-v2-0003\n
1121 o> upgraded this-is-some-token exp-ssh-v2-0003\n
1115 o> readline() -> 4:
1122 o> readline() -> 4:
1116 o> 443\n
1123 o> 443\n
1117 o> readline() -> 444:
1124 o> readline() -> 444:
1118 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1125 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1119 i> write(6) -> 6:
1126 i> write(6) -> 6:
1120 i> hello\n
1127 i> hello\n
1121 o> readline() -> 4:
1128 o> readline() -> 4:
1122 o> 428\n
1129 o> 428\n
1123 o> readline() -> 428:
1130 o> readline() -> 428:
1124 o> capabilities: branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1131 o> capabilities: branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1125
1132
1126 Multiple upgrades is not allowed
1133 Multiple upgrades is not allowed
1127
1134
1128 $ hg debugwireproto --localssh --peer raw << EOF
1135 $ hg debugwireproto --localssh --peer raw << EOF
1129 > raw
1136 > raw
1130 > upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1137 > upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1131 > hello\n
1138 > hello\n
1132 > between\n
1139 > between\n
1133 > pairs 81\n
1140 > pairs 81\n
1134 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1141 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1135 > readline
1142 > readline
1136 > readline
1143 > readline
1137 > readline
1144 > readline
1138 > raw
1145 > raw
1139 > upgrade another-token proto=irrelevant\n
1146 > upgrade another-token proto=irrelevant\n
1140 > hello\n
1147 > hello\n
1141 > readline
1148 > readline
1142 > readavailable
1149 > readavailable
1143 > EOF
1150 > EOF
1144 using raw connection to peer
1151 using raw connection to peer
1145 i> write(153) -> 153:
1152 i> write(153) -> 153:
1146 i> upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1153 i> upgrade this-is-some-token proto=exp-ssh-v2-0003\n
1147 i> hello\n
1154 i> hello\n
1148 i> between\n
1155 i> between\n
1149 i> pairs 81\n
1156 i> pairs 81\n
1150 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1157 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1151 o> readline() -> 44:
1158 o> readline() -> 44:
1152 o> upgraded this-is-some-token exp-ssh-v2-0003\n
1159 o> upgraded this-is-some-token exp-ssh-v2-0003\n
1153 o> readline() -> 4:
1160 o> readline() -> 4:
1154 o> 443\n
1161 o> 443\n
1155 o> readline() -> 444:
1162 o> readline() -> 444:
1156 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1163 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1157 i> write(45) -> 45:
1164 i> write(45) -> 45:
1158 i> upgrade another-token proto=irrelevant\n
1165 i> upgrade another-token proto=irrelevant\n
1159 i> hello\n
1166 i> hello\n
1160 o> readline() -> 1:
1167 o> readline() -> 1:
1161 o> \n
1168 o> \n
1162 e> read(-1) -> 42:
1169 e> read(-1) -> 42:
1163 e> cannot upgrade protocols multiple times\n
1170 e> cannot upgrade protocols multiple times\n
1164 e> -\n
1171 e> -\n
1165
1172
1166 Malformed upgrade request line (not exactly 3 space delimited tokens)
1173 Malformed upgrade request line (not exactly 3 space delimited tokens)
1167
1174
1168 $ hg debugwireproto --localssh --peer raw << EOF
1175 $ hg debugwireproto --localssh --peer raw << EOF
1169 > raw
1176 > raw
1170 > upgrade\n
1177 > upgrade\n
1171 > readline
1178 > readline
1172 > EOF
1179 > EOF
1173 using raw connection to peer
1180 using raw connection to peer
1174 i> write(8) -> 8:
1181 i> write(8) -> 8:
1175 i> upgrade\n
1182 i> upgrade\n
1176 o> readline() -> 2:
1183 o> readline() -> 2:
1177 o> 0\n
1184 o> 0\n
1178
1185
1179 $ hg debugwireproto --localssh --peer raw << EOF
1186 $ hg debugwireproto --localssh --peer raw << EOF
1180 > raw
1187 > raw
1181 > upgrade token\n
1188 > upgrade token\n
1182 > readline
1189 > readline
1183 > EOF
1190 > EOF
1184 using raw connection to peer
1191 using raw connection to peer
1185 i> write(14) -> 14:
1192 i> write(14) -> 14:
1186 i> upgrade token\n
1193 i> upgrade token\n
1187 o> readline() -> 2:
1194 o> readline() -> 2:
1188 o> 0\n
1195 o> 0\n
1189
1196
1190 $ hg debugwireproto --localssh --peer raw << EOF
1197 $ hg debugwireproto --localssh --peer raw << EOF
1191 > raw
1198 > raw
1192 > upgrade token foo=bar extra-token\n
1199 > upgrade token foo=bar extra-token\n
1193 > readline
1200 > readline
1194 > EOF
1201 > EOF
1195 using raw connection to peer
1202 using raw connection to peer
1196 i> write(34) -> 34:
1203 i> write(34) -> 34:
1197 i> upgrade token foo=bar extra-token\n
1204 i> upgrade token foo=bar extra-token\n
1198 o> readline() -> 2:
1205 o> readline() -> 2:
1199 o> 0\n
1206 o> 0\n
1200
1207
1201 Upgrade request to unsupported protocol is ignored
1208 Upgrade request to unsupported protocol is ignored
1202
1209
1203 $ hg debugwireproto --localssh --peer raw << EOF
1210 $ hg debugwireproto --localssh --peer raw << EOF
1204 > raw
1211 > raw
1205 > upgrade this-is-some-token proto=unknown1,unknown2\n
1212 > upgrade this-is-some-token proto=unknown1,unknown2\n
1206 > readline
1213 > readline
1207 > raw
1214 > raw
1208 > hello\n
1215 > hello\n
1209 > readline
1216 > readline
1210 > readline
1217 > readline
1211 > raw
1218 > raw
1212 > between\n
1219 > between\n
1213 > pairs 81\n
1220 > pairs 81\n
1214 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1221 > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1215 > readline
1222 > readline
1216 > readline
1223 > readline
1217 > EOF
1224 > EOF
1218 using raw connection to peer
1225 using raw connection to peer
1219 i> write(51) -> 51:
1226 i> write(51) -> 51:
1220 i> upgrade this-is-some-token proto=unknown1,unknown2\n
1227 i> upgrade this-is-some-token proto=unknown1,unknown2\n
1221 o> readline() -> 2:
1228 o> readline() -> 2:
1222 o> 0\n
1229 o> 0\n
1223 i> write(6) -> 6:
1230 i> write(6) -> 6:
1224 i> hello\n
1231 i> hello\n
1225 o> readline() -> 4:
1232 o> readline() -> 4:
1226 o> 444\n
1233 o> 444\n
1227 o> readline() -> 444:
1234 o> readline() -> 444:
1228 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1235 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1229 i> write(98) -> 98:
1236 i> write(98) -> 98:
1230 i> between\n
1237 i> between\n
1231 i> pairs 81\n
1238 i> pairs 81\n
1232 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1239 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1233 o> readline() -> 2:
1240 o> readline() -> 2:
1234 o> 1\n
1241 o> 1\n
1235 o> readline() -> 1:
1242 o> readline() -> 1:
1236 o> \n
1243 o> \n
1237
1244
1238 Upgrade request must be followed by hello + between
1245 Upgrade request must be followed by hello + between
1239
1246
1240 $ hg debugwireproto --localssh --peer raw << EOF
1247 $ hg debugwireproto --localssh --peer raw << EOF
1241 > raw
1248 > raw
1242 > upgrade token proto=exp-ssh-v2-0003\n
1249 > upgrade token proto=exp-ssh-v2-0003\n
1243 > invalid\n
1250 > invalid\n
1244 > readline
1251 > readline
1245 > readavailable
1252 > readavailable
1246 > EOF
1253 > EOF
1247 using raw connection to peer
1254 using raw connection to peer
1248 i> write(44) -> 44:
1255 i> write(44) -> 44:
1249 i> upgrade token proto=exp-ssh-v2-0003\n
1256 i> upgrade token proto=exp-ssh-v2-0003\n
1250 i> invalid\n
1257 i> invalid\n
1251 o> readline() -> 1:
1258 o> readline() -> 1:
1252 o> \n
1259 o> \n
1253 e> read(-1) -> 46:
1260 e> read(-1) -> 46:
1254 e> malformed handshake protocol: missing hello\n
1261 e> malformed handshake protocol: missing hello\n
1255 e> -\n
1262 e> -\n
1256
1263
1257 $ hg debugwireproto --localssh --peer raw << EOF
1264 $ hg debugwireproto --localssh --peer raw << EOF
1258 > raw
1265 > raw
1259 > upgrade token proto=exp-ssh-v2-0003\n
1266 > upgrade token proto=exp-ssh-v2-0003\n
1260 > hello\n
1267 > hello\n
1261 > invalid\n
1268 > invalid\n
1262 > readline
1269 > readline
1263 > readavailable
1270 > readavailable
1264 > EOF
1271 > EOF
1265 using raw connection to peer
1272 using raw connection to peer
1266 i> write(50) -> 50:
1273 i> write(50) -> 50:
1267 i> upgrade token proto=exp-ssh-v2-0003\n
1274 i> upgrade token proto=exp-ssh-v2-0003\n
1268 i> hello\n
1275 i> hello\n
1269 i> invalid\n
1276 i> invalid\n
1270 o> readline() -> 1:
1277 o> readline() -> 1:
1271 o> \n
1278 o> \n
1272 e> read(-1) -> 48:
1279 e> read(-1) -> 48:
1273 e> malformed handshake protocol: missing between\n
1280 e> malformed handshake protocol: missing between\n
1274 e> -\n
1281 e> -\n
1275
1282
1276 $ hg debugwireproto --localssh --peer raw << EOF
1283 $ hg debugwireproto --localssh --peer raw << EOF
1277 > raw
1284 > raw
1278 > upgrade token proto=exp-ssh-v2-0003\n
1285 > upgrade token proto=exp-ssh-v2-0003\n
1279 > hello\n
1286 > hello\n
1280 > between\n
1287 > between\n
1281 > invalid\n
1288 > invalid\n
1282 > readline
1289 > readline
1283 > readavailable
1290 > readavailable
1284 > EOF
1291 > EOF
1285 using raw connection to peer
1292 using raw connection to peer
1286 i> write(58) -> 58:
1293 i> write(58) -> 58:
1287 i> upgrade token proto=exp-ssh-v2-0003\n
1294 i> upgrade token proto=exp-ssh-v2-0003\n
1288 i> hello\n
1295 i> hello\n
1289 i> between\n
1296 i> between\n
1290 i> invalid\n
1297 i> invalid\n
1291 o> readline() -> 1:
1298 o> readline() -> 1:
1292 o> \n
1299 o> \n
1293 e> read(-1) -> 49:
1300 e> read(-1) -> 49:
1294 e> malformed handshake protocol: missing pairs 81\n
1301 e> malformed handshake protocol: missing pairs 81\n
1295 e> -\n
1302 e> -\n
1296
1303
1297 Legacy commands are not exposed to version 2 of protocol
1304 Legacy commands are not exposed to version 2 of protocol
1298
1305
1299 TODO re-enable these once we're back to actually using v2 commands
1306 TODO re-enable these once we're back to actually using v2 commands
1300
1307
1301 $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
1308 $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
1302 > command branches
1309 > command branches
1303 > nodes 0000000000000000000000000000000000000000
1310 > nodes 0000000000000000000000000000000000000000
1304 > EOF
1311 > EOF
1305 creating ssh peer from handshake results
1312 creating ssh peer from handshake results
1306 sending branches command
1313 sending branches command
1307 response:
1314 response:
1308
1315
1309 $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
1316 $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
1310 > command changegroup
1317 > command changegroup
1311 > roots 0000000000000000000000000000000000000000
1318 > roots 0000000000000000000000000000000000000000
1312 > EOF
1319 > EOF
1313 creating ssh peer from handshake results
1320 creating ssh peer from handshake results
1314 sending changegroup command
1321 sending changegroup command
1315 response:
1322 response:
1316
1323
1317 $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
1324 $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
1318 > command changegroupsubset
1325 > command changegroupsubset
1319 > bases 0000000000000000000000000000000000000000
1326 > bases 0000000000000000000000000000000000000000
1320 > heads 0000000000000000000000000000000000000000
1327 > heads 0000000000000000000000000000000000000000
1321 > EOF
1328 > EOF
1322 creating ssh peer from handshake results
1329 creating ssh peer from handshake results
1323 sending changegroupsubset command
1330 sending changegroupsubset command
1324 response:
1331 response:
1325
1332
1326 $ cd ..
1333 $ cd ..
1327
1334
1328 Test listkeys for listing namespaces
1335 Test listkeys for listing namespaces
1329
1336
1330 $ hg init empty
1337 $ hg init empty
1331 $ cd empty
1338 $ cd empty
1332 $ debugwireproto << EOF
1339 $ debugwireproto << EOF
1333 > command listkeys
1340 > command listkeys
1334 > namespace namespaces
1341 > namespace namespaces
1335 > EOF
1342 > EOF
1336 testing ssh1
1343 testing ssh1
1337 creating ssh peer from handshake results
1344 creating ssh peer from handshake results
1338 i> write(104) -> 104:
1345 i> write(104) -> 104:
1339 i> hello\n
1346 i> hello\n
1340 i> between\n
1347 i> between\n
1341 i> pairs 81\n
1348 i> pairs 81\n
1342 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1349 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1343 i> flush() -> None
1350 i> flush() -> None
1344 o> readline() -> 4:
1351 o> readline() -> 4:
1345 o> 444\n
1352 o> 444\n
1346 o> readline() -> 444:
1353 o> readline() -> 444:
1347 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1354 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1348 o> readline() -> 2:
1355 o> readline() -> 2:
1349 o> 1\n
1356 o> 1\n
1350 o> readline() -> 1:
1357 o> readline() -> 1:
1351 o> \n
1358 o> \n
1352 sending listkeys command
1359 sending listkeys command
1353 i> write(9) -> 9:
1360 i> write(9) -> 9:
1354 i> listkeys\n
1361 i> listkeys\n
1355 i> write(13) -> 13:
1362 i> write(13) -> 13:
1356 i> namespace 10\n
1363 i> namespace 10\n
1357 i> write(10) -> 10: namespaces
1364 i> write(10) -> 10: namespaces
1358 i> flush() -> None
1365 i> flush() -> None
1359 o> bufferedreadline() -> 3:
1366 o> bufferedreadline() -> 3:
1360 o> 30\n
1367 o> 30\n
1361 o> bufferedread(30) -> 30:
1368 o> bufferedread(30) -> 30:
1362 o> bookmarks\t\n
1369 o> bookmarks\t\n
1363 o> namespaces\t\n
1370 o> namespaces\t\n
1364 o> phases\t
1371 o> phases\t
1365 response: {
1372 response: {
1366 b'bookmarks': b'',
1373 b'bookmarks': b'',
1367 b'namespaces': b'',
1374 b'namespaces': b'',
1368 b'phases': b''
1375 b'phases': b''
1369 }
1376 }
1370
1377
1371 testing ssh2
1378 testing ssh2
1372 creating ssh peer from handshake results
1379 creating ssh peer from handshake results
1373 i> write(171) -> 171:
1380 i> write(171) -> 171:
1374 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1381 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1375 i> hello\n
1382 i> hello\n
1376 i> between\n
1383 i> between\n
1377 i> pairs 81\n
1384 i> pairs 81\n
1378 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1385 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1379 i> flush() -> None
1386 i> flush() -> None
1380 o> readline() -> 62:
1387 o> readline() -> 62:
1381 o> upgraded * exp-ssh-v2-0003\n (glob)
1388 o> upgraded * exp-ssh-v2-0003\n (glob)
1382 o> readline() -> 4:
1389 o> readline() -> 4:
1383 o> 443\n
1390 o> 443\n
1384 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1391 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1385 o> read(1) -> 1:
1392 o> read(1) -> 1:
1386 o> \n
1393 o> \n
1387 sending listkeys command
1394 sending listkeys command
1388 i> write(9) -> 9:
1395 i> write(9) -> 9:
1389 i> listkeys\n
1396 i> listkeys\n
1390 i> write(13) -> 13:
1397 i> write(13) -> 13:
1391 i> namespace 10\n
1398 i> namespace 10\n
1392 i> write(10) -> 10: namespaces
1399 i> write(10) -> 10: namespaces
1393 i> flush() -> None
1400 i> flush() -> None
1394 o> bufferedreadline() -> 3:
1401 o> bufferedreadline() -> 3:
1395 o> 30\n
1402 o> 30\n
1396 o> bufferedread(30) -> 30:
1403 o> bufferedread(30) -> 30:
1397 o> bookmarks\t\n
1404 o> bookmarks\t\n
1398 o> namespaces\t\n
1405 o> namespaces\t\n
1399 o> phases\t
1406 o> phases\t
1400 response: {
1407 response: {
1401 b'bookmarks': b'',
1408 b'bookmarks': b'',
1402 b'namespaces': b'',
1409 b'namespaces': b'',
1403 b'phases': b''
1410 b'phases': b''
1404 }
1411 }
1405
1412
1406 $ cd ..
1413 $ cd ..
1407
1414
1408 Test listkeys for bookmarks
1415 Test listkeys for bookmarks
1409
1416
1410 $ hg init bookmarkrepo
1417 $ hg init bookmarkrepo
1411 $ cd bookmarkrepo
1418 $ cd bookmarkrepo
1412 $ echo 0 > foo
1419 $ echo 0 > foo
1413 $ hg add foo
1420 $ hg add foo
1414 $ hg -q commit -m initial
1421 $ hg -q commit -m initial
1415 $ echo 1 > foo
1422 $ echo 1 > foo
1416 $ hg commit -m second
1423 $ hg commit -m second
1417
1424
1418 With no bookmarks set
1425 With no bookmarks set
1419
1426
1420 $ debugwireproto << EOF
1427 $ debugwireproto << EOF
1421 > command listkeys
1428 > command listkeys
1422 > namespace bookmarks
1429 > namespace bookmarks
1423 > EOF
1430 > EOF
1424 testing ssh1
1431 testing ssh1
1425 creating ssh peer from handshake results
1432 creating ssh peer from handshake results
1426 i> write(104) -> 104:
1433 i> write(104) -> 104:
1427 i> hello\n
1434 i> hello\n
1428 i> between\n
1435 i> between\n
1429 i> pairs 81\n
1436 i> pairs 81\n
1430 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1437 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1431 i> flush() -> None
1438 i> flush() -> None
1432 o> readline() -> 4:
1439 o> readline() -> 4:
1433 o> 444\n
1440 o> 444\n
1434 o> readline() -> 444:
1441 o> readline() -> 444:
1435 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1442 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1436 o> readline() -> 2:
1443 o> readline() -> 2:
1437 o> 1\n
1444 o> 1\n
1438 o> readline() -> 1:
1445 o> readline() -> 1:
1439 o> \n
1446 o> \n
1440 sending listkeys command
1447 sending listkeys command
1441 i> write(9) -> 9:
1448 i> write(9) -> 9:
1442 i> listkeys\n
1449 i> listkeys\n
1443 i> write(12) -> 12:
1450 i> write(12) -> 12:
1444 i> namespace 9\n
1451 i> namespace 9\n
1445 i> write(9) -> 9: bookmarks
1452 i> write(9) -> 9: bookmarks
1446 i> flush() -> None
1453 i> flush() -> None
1447 o> bufferedreadline() -> 2:
1454 o> bufferedreadline() -> 2:
1448 o> 0\n
1455 o> 0\n
1449 response: {}
1456 response: {}
1450
1457
1451 testing ssh2
1458 testing ssh2
1452 creating ssh peer from handshake results
1459 creating ssh peer from handshake results
1453 i> write(171) -> 171:
1460 i> write(171) -> 171:
1454 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1461 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1455 i> hello\n
1462 i> hello\n
1456 i> between\n
1463 i> between\n
1457 i> pairs 81\n
1464 i> pairs 81\n
1458 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1465 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1459 i> flush() -> None
1466 i> flush() -> None
1460 o> readline() -> 62:
1467 o> readline() -> 62:
1461 o> upgraded * exp-ssh-v2-0003\n (glob)
1468 o> upgraded * exp-ssh-v2-0003\n (glob)
1462 o> readline() -> 4:
1469 o> readline() -> 4:
1463 o> 443\n
1470 o> 443\n
1464 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1471 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1465 o> read(1) -> 1:
1472 o> read(1) -> 1:
1466 o> \n
1473 o> \n
1467 sending listkeys command
1474 sending listkeys command
1468 i> write(9) -> 9:
1475 i> write(9) -> 9:
1469 i> listkeys\n
1476 i> listkeys\n
1470 i> write(12) -> 12:
1477 i> write(12) -> 12:
1471 i> namespace 9\n
1478 i> namespace 9\n
1472 i> write(9) -> 9: bookmarks
1479 i> write(9) -> 9: bookmarks
1473 i> flush() -> None
1480 i> flush() -> None
1474 o> bufferedreadline() -> 2:
1481 o> bufferedreadline() -> 2:
1475 o> 0\n
1482 o> 0\n
1476 response: {}
1483 response: {}
1477
1484
1478 With a single bookmark set
1485 With a single bookmark set
1479
1486
1480 $ hg book -r 0 bookA
1487 $ hg book -r 0 bookA
1481 $ debugwireproto << EOF
1488 $ debugwireproto << EOF
1482 > command listkeys
1489 > command listkeys
1483 > namespace bookmarks
1490 > namespace bookmarks
1484 > EOF
1491 > EOF
1485 testing ssh1
1492 testing ssh1
1486 creating ssh peer from handshake results
1493 creating ssh peer from handshake results
1487 i> write(104) -> 104:
1494 i> write(104) -> 104:
1488 i> hello\n
1495 i> hello\n
1489 i> between\n
1496 i> between\n
1490 i> pairs 81\n
1497 i> pairs 81\n
1491 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1498 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1492 i> flush() -> None
1499 i> flush() -> None
1493 o> readline() -> 4:
1500 o> readline() -> 4:
1494 o> 444\n
1501 o> 444\n
1495 o> readline() -> 444:
1502 o> readline() -> 444:
1496 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1503 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1497 o> readline() -> 2:
1504 o> readline() -> 2:
1498 o> 1\n
1505 o> 1\n
1499 o> readline() -> 1:
1506 o> readline() -> 1:
1500 o> \n
1507 o> \n
1501 sending listkeys command
1508 sending listkeys command
1502 i> write(9) -> 9:
1509 i> write(9) -> 9:
1503 i> listkeys\n
1510 i> listkeys\n
1504 i> write(12) -> 12:
1511 i> write(12) -> 12:
1505 i> namespace 9\n
1512 i> namespace 9\n
1506 i> write(9) -> 9: bookmarks
1513 i> write(9) -> 9: bookmarks
1507 i> flush() -> None
1514 i> flush() -> None
1508 o> bufferedreadline() -> 3:
1515 o> bufferedreadline() -> 3:
1509 o> 46\n
1516 o> 46\n
1510 o> bufferedread(46) -> 46: bookA\t68986213bd4485ea51533535e3fc9e78007a711f
1517 o> bufferedread(46) -> 46: bookA\t68986213bd4485ea51533535e3fc9e78007a711f
1511 response: {
1518 response: {
1512 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f'
1519 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f'
1513 }
1520 }
1514
1521
1515 testing ssh2
1522 testing ssh2
1516 creating ssh peer from handshake results
1523 creating ssh peer from handshake results
1517 i> write(171) -> 171:
1524 i> write(171) -> 171:
1518 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1525 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1519 i> hello\n
1526 i> hello\n
1520 i> between\n
1527 i> between\n
1521 i> pairs 81\n
1528 i> pairs 81\n
1522 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1529 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1523 i> flush() -> None
1530 i> flush() -> None
1524 o> readline() -> 62:
1531 o> readline() -> 62:
1525 o> upgraded * exp-ssh-v2-0003\n (glob)
1532 o> upgraded * exp-ssh-v2-0003\n (glob)
1526 o> readline() -> 4:
1533 o> readline() -> 4:
1527 o> 443\n
1534 o> 443\n
1528 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1535 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1529 o> read(1) -> 1:
1536 o> read(1) -> 1:
1530 o> \n
1537 o> \n
1531 sending listkeys command
1538 sending listkeys command
1532 i> write(9) -> 9:
1539 i> write(9) -> 9:
1533 i> listkeys\n
1540 i> listkeys\n
1534 i> write(12) -> 12:
1541 i> write(12) -> 12:
1535 i> namespace 9\n
1542 i> namespace 9\n
1536 i> write(9) -> 9: bookmarks
1543 i> write(9) -> 9: bookmarks
1537 i> flush() -> None
1544 i> flush() -> None
1538 o> bufferedreadline() -> 3:
1545 o> bufferedreadline() -> 3:
1539 o> 46\n
1546 o> 46\n
1540 o> bufferedread(46) -> 46: bookA\t68986213bd4485ea51533535e3fc9e78007a711f
1547 o> bufferedread(46) -> 46: bookA\t68986213bd4485ea51533535e3fc9e78007a711f
1541 response: {
1548 response: {
1542 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f'
1549 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f'
1543 }
1550 }
1544
1551
1545 With multiple bookmarks set
1552 With multiple bookmarks set
1546
1553
1547 $ hg book -r 1 bookB
1554 $ hg book -r 1 bookB
1548 $ debugwireproto << EOF
1555 $ debugwireproto << EOF
1549 > command listkeys
1556 > command listkeys
1550 > namespace bookmarks
1557 > namespace bookmarks
1551 > EOF
1558 > EOF
1552 testing ssh1
1559 testing ssh1
1553 creating ssh peer from handshake results
1560 creating ssh peer from handshake results
1554 i> write(104) -> 104:
1561 i> write(104) -> 104:
1555 i> hello\n
1562 i> hello\n
1556 i> between\n
1563 i> between\n
1557 i> pairs 81\n
1564 i> pairs 81\n
1558 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1565 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1559 i> flush() -> None
1566 i> flush() -> None
1560 o> readline() -> 4:
1567 o> readline() -> 4:
1561 o> 444\n
1568 o> 444\n
1562 o> readline() -> 444:
1569 o> readline() -> 444:
1563 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1570 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1564 o> readline() -> 2:
1571 o> readline() -> 2:
1565 o> 1\n
1572 o> 1\n
1566 o> readline() -> 1:
1573 o> readline() -> 1:
1567 o> \n
1574 o> \n
1568 sending listkeys command
1575 sending listkeys command
1569 i> write(9) -> 9:
1576 i> write(9) -> 9:
1570 i> listkeys\n
1577 i> listkeys\n
1571 i> write(12) -> 12:
1578 i> write(12) -> 12:
1572 i> namespace 9\n
1579 i> namespace 9\n
1573 i> write(9) -> 9: bookmarks
1580 i> write(9) -> 9: bookmarks
1574 i> flush() -> None
1581 i> flush() -> None
1575 o> bufferedreadline() -> 3:
1582 o> bufferedreadline() -> 3:
1576 o> 93\n
1583 o> 93\n
1577 o> bufferedread(93) -> 93:
1584 o> bufferedread(93) -> 93:
1578 o> bookA\t68986213bd4485ea51533535e3fc9e78007a711f\n
1585 o> bookA\t68986213bd4485ea51533535e3fc9e78007a711f\n
1579 o> bookB\t1880f3755e2e52e3199e0ee5638128b08642f34d
1586 o> bookB\t1880f3755e2e52e3199e0ee5638128b08642f34d
1580 response: {
1587 response: {
1581 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f',
1588 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f',
1582 b'bookB': b'1880f3755e2e52e3199e0ee5638128b08642f34d'
1589 b'bookB': b'1880f3755e2e52e3199e0ee5638128b08642f34d'
1583 }
1590 }
1584
1591
1585 testing ssh2
1592 testing ssh2
1586 creating ssh peer from handshake results
1593 creating ssh peer from handshake results
1587 i> write(171) -> 171:
1594 i> write(171) -> 171:
1588 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1595 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1589 i> hello\n
1596 i> hello\n
1590 i> between\n
1597 i> between\n
1591 i> pairs 81\n
1598 i> pairs 81\n
1592 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1599 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1593 i> flush() -> None
1600 i> flush() -> None
1594 o> readline() -> 62:
1601 o> readline() -> 62:
1595 o> upgraded * exp-ssh-v2-0003\n (glob)
1602 o> upgraded * exp-ssh-v2-0003\n (glob)
1596 o> readline() -> 4:
1603 o> readline() -> 4:
1597 o> 443\n
1604 o> 443\n
1598 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1605 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1599 o> read(1) -> 1:
1606 o> read(1) -> 1:
1600 o> \n
1607 o> \n
1601 sending listkeys command
1608 sending listkeys command
1602 i> write(9) -> 9:
1609 i> write(9) -> 9:
1603 i> listkeys\n
1610 i> listkeys\n
1604 i> write(12) -> 12:
1611 i> write(12) -> 12:
1605 i> namespace 9\n
1612 i> namespace 9\n
1606 i> write(9) -> 9: bookmarks
1613 i> write(9) -> 9: bookmarks
1607 i> flush() -> None
1614 i> flush() -> None
1608 o> bufferedreadline() -> 3:
1615 o> bufferedreadline() -> 3:
1609 o> 93\n
1616 o> 93\n
1610 o> bufferedread(93) -> 93:
1617 o> bufferedread(93) -> 93:
1611 o> bookA\t68986213bd4485ea51533535e3fc9e78007a711f\n
1618 o> bookA\t68986213bd4485ea51533535e3fc9e78007a711f\n
1612 o> bookB\t1880f3755e2e52e3199e0ee5638128b08642f34d
1619 o> bookB\t1880f3755e2e52e3199e0ee5638128b08642f34d
1613 response: {
1620 response: {
1614 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f',
1621 b'bookA': b'68986213bd4485ea51533535e3fc9e78007a711f',
1615 b'bookB': b'1880f3755e2e52e3199e0ee5638128b08642f34d'
1622 b'bookB': b'1880f3755e2e52e3199e0ee5638128b08642f34d'
1616 }
1623 }
1617
1624
1618 Test pushkey for bookmarks
1625 Test pushkey for bookmarks
1619
1626
1620 $ debugwireproto << EOF
1627 $ debugwireproto << EOF
1621 > command pushkey
1628 > command pushkey
1622 > namespace bookmarks
1629 > namespace bookmarks
1623 > key remote
1630 > key remote
1624 > old
1631 > old
1625 > new 68986213bd4485ea51533535e3fc9e78007a711f
1632 > new 68986213bd4485ea51533535e3fc9e78007a711f
1626 > EOF
1633 > EOF
1627 testing ssh1
1634 testing ssh1
1628 creating ssh peer from handshake results
1635 creating ssh peer from handshake results
1629 i> write(104) -> 104:
1636 i> write(104) -> 104:
1630 i> hello\n
1637 i> hello\n
1631 i> between\n
1638 i> between\n
1632 i> pairs 81\n
1639 i> pairs 81\n
1633 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1640 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1634 i> flush() -> None
1641 i> flush() -> None
1635 o> readline() -> 4:
1642 o> readline() -> 4:
1636 o> 444\n
1643 o> 444\n
1637 o> readline() -> 444:
1644 o> readline() -> 444:
1638 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1645 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1639 o> readline() -> 2:
1646 o> readline() -> 2:
1640 o> 1\n
1647 o> 1\n
1641 o> readline() -> 1:
1648 o> readline() -> 1:
1642 o> \n
1649 o> \n
1643 sending pushkey command
1650 sending pushkey command
1644 i> write(8) -> 8:
1651 i> write(8) -> 8:
1645 i> pushkey\n
1652 i> pushkey\n
1646 i> write(6) -> 6:
1653 i> write(6) -> 6:
1647 i> key 6\n
1654 i> key 6\n
1648 i> write(6) -> 6: remote
1655 i> write(6) -> 6: remote
1649 i> write(12) -> 12:
1656 i> write(12) -> 12:
1650 i> namespace 9\n
1657 i> namespace 9\n
1651 i> write(9) -> 9: bookmarks
1658 i> write(9) -> 9: bookmarks
1652 i> write(7) -> 7:
1659 i> write(7) -> 7:
1653 i> new 40\n
1660 i> new 40\n
1654 i> write(40) -> 40: 68986213bd4485ea51533535e3fc9e78007a711f
1661 i> write(40) -> 40: 68986213bd4485ea51533535e3fc9e78007a711f
1655 i> write(6) -> 6:
1662 i> write(6) -> 6:
1656 i> old 0\n
1663 i> old 0\n
1657 i> flush() -> None
1664 i> flush() -> None
1658 o> bufferedreadline() -> 2:
1665 o> bufferedreadline() -> 2:
1659 o> 2\n
1666 o> 2\n
1660 o> bufferedread(2) -> 2:
1667 o> bufferedread(2) -> 2:
1661 o> 1\n
1668 o> 1\n
1662 response: True
1669 response: True
1663
1670
1664 testing ssh2
1671 testing ssh2
1665 creating ssh peer from handshake results
1672 creating ssh peer from handshake results
1666 i> write(171) -> 171:
1673 i> write(171) -> 171:
1667 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1674 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1668 i> hello\n
1675 i> hello\n
1669 i> between\n
1676 i> between\n
1670 i> pairs 81\n
1677 i> pairs 81\n
1671 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1678 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1672 i> flush() -> None
1679 i> flush() -> None
1673 o> readline() -> 62:
1680 o> readline() -> 62:
1674 o> upgraded * exp-ssh-v2-0003\n (glob)
1681 o> upgraded * exp-ssh-v2-0003\n (glob)
1675 o> readline() -> 4:
1682 o> readline() -> 4:
1676 o> 443\n
1683 o> 443\n
1677 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1684 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1678 o> read(1) -> 1:
1685 o> read(1) -> 1:
1679 o> \n
1686 o> \n
1680 sending pushkey command
1687 sending pushkey command
1681 i> write(8) -> 8:
1688 i> write(8) -> 8:
1682 i> pushkey\n
1689 i> pushkey\n
1683 i> write(6) -> 6:
1690 i> write(6) -> 6:
1684 i> key 6\n
1691 i> key 6\n
1685 i> write(6) -> 6: remote
1692 i> write(6) -> 6: remote
1686 i> write(12) -> 12:
1693 i> write(12) -> 12:
1687 i> namespace 9\n
1694 i> namespace 9\n
1688 i> write(9) -> 9: bookmarks
1695 i> write(9) -> 9: bookmarks
1689 i> write(7) -> 7:
1696 i> write(7) -> 7:
1690 i> new 40\n
1697 i> new 40\n
1691 i> write(40) -> 40: 68986213bd4485ea51533535e3fc9e78007a711f
1698 i> write(40) -> 40: 68986213bd4485ea51533535e3fc9e78007a711f
1692 i> write(6) -> 6:
1699 i> write(6) -> 6:
1693 i> old 0\n
1700 i> old 0\n
1694 i> flush() -> None
1701 i> flush() -> None
1695 o> bufferedreadline() -> 2:
1702 o> bufferedreadline() -> 2:
1696 o> 2\n
1703 o> 2\n
1697 o> bufferedread(2) -> 2:
1704 o> bufferedread(2) -> 2:
1698 o> 1\n
1705 o> 1\n
1699 response: True
1706 response: True
1700
1707
1701 $ hg bookmarks
1708 $ hg bookmarks
1702 bookA 0:68986213bd44
1709 bookA 0:68986213bd44
1703 bookB 1:1880f3755e2e
1710 bookB 1:1880f3755e2e
1704 remote 0:68986213bd44
1711 remote 0:68986213bd44
1705
1712
1706 $ cd ..
1713 $ cd ..
1707
1714
1708 Test listkeys for phases
1715 Test listkeys for phases
1709
1716
1710 $ hg init phasesrepo
1717 $ hg init phasesrepo
1711 $ cd phasesrepo
1718 $ cd phasesrepo
1712
1719
1713 Phases on empty repo
1720 Phases on empty repo
1714
1721
1715 $ debugwireproto << EOF
1722 $ debugwireproto << EOF
1716 > command listkeys
1723 > command listkeys
1717 > namespace phases
1724 > namespace phases
1718 > EOF
1725 > EOF
1719 testing ssh1
1726 testing ssh1
1720 creating ssh peer from handshake results
1727 creating ssh peer from handshake results
1721 i> write(104) -> 104:
1728 i> write(104) -> 104:
1722 i> hello\n
1729 i> hello\n
1723 i> between\n
1730 i> between\n
1724 i> pairs 81\n
1731 i> pairs 81\n
1725 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1732 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1726 i> flush() -> None
1733 i> flush() -> None
1727 o> readline() -> 4:
1734 o> readline() -> 4:
1728 o> 444\n
1735 o> 444\n
1729 o> readline() -> 444:
1736 o> readline() -> 444:
1730 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1737 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1731 o> readline() -> 2:
1738 o> readline() -> 2:
1732 o> 1\n
1739 o> 1\n
1733 o> readline() -> 1:
1740 o> readline() -> 1:
1734 o> \n
1741 o> \n
1735 sending listkeys command
1742 sending listkeys command
1736 i> write(9) -> 9:
1743 i> write(9) -> 9:
1737 i> listkeys\n
1744 i> listkeys\n
1738 i> write(12) -> 12:
1745 i> write(12) -> 12:
1739 i> namespace 6\n
1746 i> namespace 6\n
1740 i> write(6) -> 6: phases
1747 i> write(6) -> 6: phases
1741 i> flush() -> None
1748 i> flush() -> None
1742 o> bufferedreadline() -> 3:
1749 o> bufferedreadline() -> 3:
1743 o> 15\n
1750 o> 15\n
1744 o> bufferedread(15) -> 15: publishing\tTrue
1751 o> bufferedread(15) -> 15: publishing\tTrue
1745 response: {
1752 response: {
1746 b'publishing': b'True'
1753 b'publishing': b'True'
1747 }
1754 }
1748
1755
1749 testing ssh2
1756 testing ssh2
1750 creating ssh peer from handshake results
1757 creating ssh peer from handshake results
1751 i> write(171) -> 171:
1758 i> write(171) -> 171:
1752 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1759 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1753 i> hello\n
1760 i> hello\n
1754 i> between\n
1761 i> between\n
1755 i> pairs 81\n
1762 i> pairs 81\n
1756 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1763 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1757 i> flush() -> None
1764 i> flush() -> None
1758 o> readline() -> 62:
1765 o> readline() -> 62:
1759 o> upgraded * exp-ssh-v2-0003\n (glob)
1766 o> upgraded * exp-ssh-v2-0003\n (glob)
1760 o> readline() -> 4:
1767 o> readline() -> 4:
1761 o> 443\n
1768 o> 443\n
1762 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1769 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1763 o> read(1) -> 1:
1770 o> read(1) -> 1:
1764 o> \n
1771 o> \n
1765 sending listkeys command
1772 sending listkeys command
1766 i> write(9) -> 9:
1773 i> write(9) -> 9:
1767 i> listkeys\n
1774 i> listkeys\n
1768 i> write(12) -> 12:
1775 i> write(12) -> 12:
1769 i> namespace 6\n
1776 i> namespace 6\n
1770 i> write(6) -> 6: phases
1777 i> write(6) -> 6: phases
1771 i> flush() -> None
1778 i> flush() -> None
1772 o> bufferedreadline() -> 3:
1779 o> bufferedreadline() -> 3:
1773 o> 15\n
1780 o> 15\n
1774 o> bufferedread(15) -> 15: publishing\tTrue
1781 o> bufferedread(15) -> 15: publishing\tTrue
1775 response: {
1782 response: {
1776 b'publishing': b'True'
1783 b'publishing': b'True'
1777 }
1784 }
1778
1785
1779 Create some commits
1786 Create some commits
1780
1787
1781 $ echo 0 > foo
1788 $ echo 0 > foo
1782 $ hg add foo
1789 $ hg add foo
1783 $ hg -q commit -m initial
1790 $ hg -q commit -m initial
1784 $ hg phase --public
1791 $ hg phase --public
1785 $ echo 1 > foo
1792 $ echo 1 > foo
1786 $ hg commit -m 'head 1 commit 1'
1793 $ hg commit -m 'head 1 commit 1'
1787 $ echo 2 > foo
1794 $ echo 2 > foo
1788 $ hg commit -m 'head 1 commit 2'
1795 $ hg commit -m 'head 1 commit 2'
1789 $ hg -q up 0
1796 $ hg -q up 0
1790 $ echo 1a > foo
1797 $ echo 1a > foo
1791 $ hg commit -m 'head 2 commit 1'
1798 $ hg commit -m 'head 2 commit 1'
1792 created new head
1799 created new head
1793 $ echo 2a > foo
1800 $ echo 2a > foo
1794 $ hg commit -m 'head 2 commit 2'
1801 $ hg commit -m 'head 2 commit 2'
1795
1802
1796 Two draft heads
1803 Two draft heads
1797
1804
1798 $ debugwireproto << EOF
1805 $ debugwireproto << EOF
1799 > command listkeys
1806 > command listkeys
1800 > namespace phases
1807 > namespace phases
1801 > EOF
1808 > EOF
1802 testing ssh1
1809 testing ssh1
1803 creating ssh peer from handshake results
1810 creating ssh peer from handshake results
1804 i> write(104) -> 104:
1811 i> write(104) -> 104:
1805 i> hello\n
1812 i> hello\n
1806 i> between\n
1813 i> between\n
1807 i> pairs 81\n
1814 i> pairs 81\n
1808 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1815 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1809 i> flush() -> None
1816 i> flush() -> None
1810 o> readline() -> 4:
1817 o> readline() -> 4:
1811 o> 444\n
1818 o> 444\n
1812 o> readline() -> 444:
1819 o> readline() -> 444:
1813 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1820 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1814 o> readline() -> 2:
1821 o> readline() -> 2:
1815 o> 1\n
1822 o> 1\n
1816 o> readline() -> 1:
1823 o> readline() -> 1:
1817 o> \n
1824 o> \n
1818 sending listkeys command
1825 sending listkeys command
1819 i> write(9) -> 9:
1826 i> write(9) -> 9:
1820 i> listkeys\n
1827 i> listkeys\n
1821 i> write(12) -> 12:
1828 i> write(12) -> 12:
1822 i> namespace 6\n
1829 i> namespace 6\n
1823 i> write(6) -> 6: phases
1830 i> write(6) -> 6: phases
1824 i> flush() -> None
1831 i> flush() -> None
1825 o> bufferedreadline() -> 4:
1832 o> bufferedreadline() -> 4:
1826 o> 101\n
1833 o> 101\n
1827 o> bufferedread(101) -> 101:
1834 o> bufferedread(101) -> 101:
1828 o> 20b8a89289d80036e6c4e87c2083e3bea1586637\t1\n
1835 o> 20b8a89289d80036e6c4e87c2083e3bea1586637\t1\n
1829 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1836 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1830 o> publishing\tTrue
1837 o> publishing\tTrue
1831 response: {
1838 response: {
1832 b'20b8a89289d80036e6c4e87c2083e3bea1586637': b'1',
1839 b'20b8a89289d80036e6c4e87c2083e3bea1586637': b'1',
1833 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1840 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1834 b'publishing': b'True'
1841 b'publishing': b'True'
1835 }
1842 }
1836
1843
1837 testing ssh2
1844 testing ssh2
1838 creating ssh peer from handshake results
1845 creating ssh peer from handshake results
1839 i> write(171) -> 171:
1846 i> write(171) -> 171:
1840 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1847 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1841 i> hello\n
1848 i> hello\n
1842 i> between\n
1849 i> between\n
1843 i> pairs 81\n
1850 i> pairs 81\n
1844 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1851 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1845 i> flush() -> None
1852 i> flush() -> None
1846 o> readline() -> 62:
1853 o> readline() -> 62:
1847 o> upgraded * exp-ssh-v2-0003\n (glob)
1854 o> upgraded * exp-ssh-v2-0003\n (glob)
1848 o> readline() -> 4:
1855 o> readline() -> 4:
1849 o> 443\n
1856 o> 443\n
1850 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1857 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1851 o> read(1) -> 1:
1858 o> read(1) -> 1:
1852 o> \n
1859 o> \n
1853 sending listkeys command
1860 sending listkeys command
1854 i> write(9) -> 9:
1861 i> write(9) -> 9:
1855 i> listkeys\n
1862 i> listkeys\n
1856 i> write(12) -> 12:
1863 i> write(12) -> 12:
1857 i> namespace 6\n
1864 i> namespace 6\n
1858 i> write(6) -> 6: phases
1865 i> write(6) -> 6: phases
1859 i> flush() -> None
1866 i> flush() -> None
1860 o> bufferedreadline() -> 4:
1867 o> bufferedreadline() -> 4:
1861 o> 101\n
1868 o> 101\n
1862 o> bufferedread(101) -> 101:
1869 o> bufferedread(101) -> 101:
1863 o> 20b8a89289d80036e6c4e87c2083e3bea1586637\t1\n
1870 o> 20b8a89289d80036e6c4e87c2083e3bea1586637\t1\n
1864 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1871 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1865 o> publishing\tTrue
1872 o> publishing\tTrue
1866 response: {
1873 response: {
1867 b'20b8a89289d80036e6c4e87c2083e3bea1586637': b'1',
1874 b'20b8a89289d80036e6c4e87c2083e3bea1586637': b'1',
1868 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1875 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1869 b'publishing': b'True'
1876 b'publishing': b'True'
1870 }
1877 }
1871
1878
1872 Single draft head
1879 Single draft head
1873
1880
1874 $ hg phase --public -r 2
1881 $ hg phase --public -r 2
1875 $ debugwireproto << EOF
1882 $ debugwireproto << EOF
1876 > command listkeys
1883 > command listkeys
1877 > namespace phases
1884 > namespace phases
1878 > EOF
1885 > EOF
1879 testing ssh1
1886 testing ssh1
1880 creating ssh peer from handshake results
1887 creating ssh peer from handshake results
1881 i> write(104) -> 104:
1888 i> write(104) -> 104:
1882 i> hello\n
1889 i> hello\n
1883 i> between\n
1890 i> between\n
1884 i> pairs 81\n
1891 i> pairs 81\n
1885 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1892 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1886 i> flush() -> None
1893 i> flush() -> None
1887 o> readline() -> 4:
1894 o> readline() -> 4:
1888 o> 444\n
1895 o> 444\n
1889 o> readline() -> 444:
1896 o> readline() -> 444:
1890 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1897 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1891 o> readline() -> 2:
1898 o> readline() -> 2:
1892 o> 1\n
1899 o> 1\n
1893 o> readline() -> 1:
1900 o> readline() -> 1:
1894 o> \n
1901 o> \n
1895 sending listkeys command
1902 sending listkeys command
1896 i> write(9) -> 9:
1903 i> write(9) -> 9:
1897 i> listkeys\n
1904 i> listkeys\n
1898 i> write(12) -> 12:
1905 i> write(12) -> 12:
1899 i> namespace 6\n
1906 i> namespace 6\n
1900 i> write(6) -> 6: phases
1907 i> write(6) -> 6: phases
1901 i> flush() -> None
1908 i> flush() -> None
1902 o> bufferedreadline() -> 3:
1909 o> bufferedreadline() -> 3:
1903 o> 58\n
1910 o> 58\n
1904 o> bufferedread(58) -> 58:
1911 o> bufferedread(58) -> 58:
1905 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1912 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1906 o> publishing\tTrue
1913 o> publishing\tTrue
1907 response: {
1914 response: {
1908 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1915 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1909 b'publishing': b'True'
1916 b'publishing': b'True'
1910 }
1917 }
1911
1918
1912 testing ssh2
1919 testing ssh2
1913 creating ssh peer from handshake results
1920 creating ssh peer from handshake results
1914 i> write(171) -> 171:
1921 i> write(171) -> 171:
1915 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1922 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1916 i> hello\n
1923 i> hello\n
1917 i> between\n
1924 i> between\n
1918 i> pairs 81\n
1925 i> pairs 81\n
1919 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1926 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1920 i> flush() -> None
1927 i> flush() -> None
1921 o> readline() -> 62:
1928 o> readline() -> 62:
1922 o> upgraded * exp-ssh-v2-0003\n (glob)
1929 o> upgraded * exp-ssh-v2-0003\n (glob)
1923 o> readline() -> 4:
1930 o> readline() -> 4:
1924 o> 443\n
1931 o> 443\n
1925 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1932 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1926 o> read(1) -> 1:
1933 o> read(1) -> 1:
1927 o> \n
1934 o> \n
1928 sending listkeys command
1935 sending listkeys command
1929 i> write(9) -> 9:
1936 i> write(9) -> 9:
1930 i> listkeys\n
1937 i> listkeys\n
1931 i> write(12) -> 12:
1938 i> write(12) -> 12:
1932 i> namespace 6\n
1939 i> namespace 6\n
1933 i> write(6) -> 6: phases
1940 i> write(6) -> 6: phases
1934 i> flush() -> None
1941 i> flush() -> None
1935 o> bufferedreadline() -> 3:
1942 o> bufferedreadline() -> 3:
1936 o> 58\n
1943 o> 58\n
1937 o> bufferedread(58) -> 58:
1944 o> bufferedread(58) -> 58:
1938 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1945 o> c4750011d906c18ea2f0527419cbc1a544435150\t1\n
1939 o> publishing\tTrue
1946 o> publishing\tTrue
1940 response: {
1947 response: {
1941 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1948 b'c4750011d906c18ea2f0527419cbc1a544435150': b'1',
1942 b'publishing': b'True'
1949 b'publishing': b'True'
1943 }
1950 }
1944
1951
1945 All public heads
1952 All public heads
1946
1953
1947 $ hg phase --public -r 4
1954 $ hg phase --public -r 4
1948 $ debugwireproto << EOF
1955 $ debugwireproto << EOF
1949 > command listkeys
1956 > command listkeys
1950 > namespace phases
1957 > namespace phases
1951 > EOF
1958 > EOF
1952 testing ssh1
1959 testing ssh1
1953 creating ssh peer from handshake results
1960 creating ssh peer from handshake results
1954 i> write(104) -> 104:
1961 i> write(104) -> 104:
1955 i> hello\n
1962 i> hello\n
1956 i> between\n
1963 i> between\n
1957 i> pairs 81\n
1964 i> pairs 81\n
1958 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1965 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1959 i> flush() -> None
1966 i> flush() -> None
1960 o> readline() -> 4:
1967 o> readline() -> 4:
1961 o> 444\n
1968 o> 444\n
1962 o> readline() -> 444:
1969 o> readline() -> 444:
1963 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1970 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1964 o> readline() -> 2:
1971 o> readline() -> 2:
1965 o> 1\n
1972 o> 1\n
1966 o> readline() -> 1:
1973 o> readline() -> 1:
1967 o> \n
1974 o> \n
1968 sending listkeys command
1975 sending listkeys command
1969 i> write(9) -> 9:
1976 i> write(9) -> 9:
1970 i> listkeys\n
1977 i> listkeys\n
1971 i> write(12) -> 12:
1978 i> write(12) -> 12:
1972 i> namespace 6\n
1979 i> namespace 6\n
1973 i> write(6) -> 6: phases
1980 i> write(6) -> 6: phases
1974 i> flush() -> None
1981 i> flush() -> None
1975 o> bufferedreadline() -> 3:
1982 o> bufferedreadline() -> 3:
1976 o> 15\n
1983 o> 15\n
1977 o> bufferedread(15) -> 15: publishing\tTrue
1984 o> bufferedread(15) -> 15: publishing\tTrue
1978 response: {
1985 response: {
1979 b'publishing': b'True'
1986 b'publishing': b'True'
1980 }
1987 }
1981
1988
1982 testing ssh2
1989 testing ssh2
1983 creating ssh peer from handshake results
1990 creating ssh peer from handshake results
1984 i> write(171) -> 171:
1991 i> write(171) -> 171:
1985 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1992 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1986 i> hello\n
1993 i> hello\n
1987 i> between\n
1994 i> between\n
1988 i> pairs 81\n
1995 i> pairs 81\n
1989 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1996 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1990 i> flush() -> None
1997 i> flush() -> None
1991 o> readline() -> 62:
1998 o> readline() -> 62:
1992 o> upgraded * exp-ssh-v2-0003\n (glob)
1999 o> upgraded * exp-ssh-v2-0003\n (glob)
1993 o> readline() -> 4:
2000 o> readline() -> 4:
1994 o> 443\n
2001 o> 443\n
1995 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2002 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
1996 o> read(1) -> 1:
2003 o> read(1) -> 1:
1997 o> \n
2004 o> \n
1998 sending listkeys command
2005 sending listkeys command
1999 i> write(9) -> 9:
2006 i> write(9) -> 9:
2000 i> listkeys\n
2007 i> listkeys\n
2001 i> write(12) -> 12:
2008 i> write(12) -> 12:
2002 i> namespace 6\n
2009 i> namespace 6\n
2003 i> write(6) -> 6: phases
2010 i> write(6) -> 6: phases
2004 i> flush() -> None
2011 i> flush() -> None
2005 o> bufferedreadline() -> 3:
2012 o> bufferedreadline() -> 3:
2006 o> 15\n
2013 o> 15\n
2007 o> bufferedread(15) -> 15: publishing\tTrue
2014 o> bufferedread(15) -> 15: publishing\tTrue
2008 response: {
2015 response: {
2009 b'publishing': b'True'
2016 b'publishing': b'True'
2010 }
2017 }
2011
2018
2012 Setting public phase via pushkey
2019 Setting public phase via pushkey
2013
2020
2014 $ hg phase --draft --force -r .
2021 $ hg phase --draft --force -r .
2015
2022
2016 $ debugwireproto << EOF
2023 $ debugwireproto << EOF
2017 > command pushkey
2024 > command pushkey
2018 > namespace phases
2025 > namespace phases
2019 > key 7127240a084fd9dc86fe8d1f98e26229161ec82b
2026 > key 7127240a084fd9dc86fe8d1f98e26229161ec82b
2020 > old 1
2027 > old 1
2021 > new 0
2028 > new 0
2022 > EOF
2029 > EOF
2023 testing ssh1
2030 testing ssh1
2024 creating ssh peer from handshake results
2031 creating ssh peer from handshake results
2025 i> write(104) -> 104:
2032 i> write(104) -> 104:
2026 i> hello\n
2033 i> hello\n
2027 i> between\n
2034 i> between\n
2028 i> pairs 81\n
2035 i> pairs 81\n
2029 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2036 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2030 i> flush() -> None
2037 i> flush() -> None
2031 o> readline() -> 4:
2038 o> readline() -> 4:
2032 o> 444\n
2039 o> 444\n
2033 o> readline() -> 444:
2040 o> readline() -> 444:
2034 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
2041 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
2035 o> readline() -> 2:
2042 o> readline() -> 2:
2036 o> 1\n
2043 o> 1\n
2037 o> readline() -> 1:
2044 o> readline() -> 1:
2038 o> \n
2045 o> \n
2039 sending pushkey command
2046 sending pushkey command
2040 i> write(8) -> 8:
2047 i> write(8) -> 8:
2041 i> pushkey\n
2048 i> pushkey\n
2042 i> write(7) -> 7:
2049 i> write(7) -> 7:
2043 i> key 40\n
2050 i> key 40\n
2044 i> write(40) -> 40: 7127240a084fd9dc86fe8d1f98e26229161ec82b
2051 i> write(40) -> 40: 7127240a084fd9dc86fe8d1f98e26229161ec82b
2045 i> write(12) -> 12:
2052 i> write(12) -> 12:
2046 i> namespace 6\n
2053 i> namespace 6\n
2047 i> write(6) -> 6: phases
2054 i> write(6) -> 6: phases
2048 i> write(6) -> 6:
2055 i> write(6) -> 6:
2049 i> new 1\n
2056 i> new 1\n
2050 i> write(1) -> 1: 0
2057 i> write(1) -> 1: 0
2051 i> write(6) -> 6:
2058 i> write(6) -> 6:
2052 i> old 1\n
2059 i> old 1\n
2053 i> write(1) -> 1: 1
2060 i> write(1) -> 1: 1
2054 i> flush() -> None
2061 i> flush() -> None
2055 o> bufferedreadline() -> 2:
2062 o> bufferedreadline() -> 2:
2056 o> 2\n
2063 o> 2\n
2057 o> bufferedread(2) -> 2:
2064 o> bufferedread(2) -> 2:
2058 o> 1\n
2065 o> 1\n
2059 response: True
2066 response: True
2060
2067
2061 testing ssh2
2068 testing ssh2
2062 creating ssh peer from handshake results
2069 creating ssh peer from handshake results
2063 i> write(171) -> 171:
2070 i> write(171) -> 171:
2064 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
2071 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
2065 i> hello\n
2072 i> hello\n
2066 i> between\n
2073 i> between\n
2067 i> pairs 81\n
2074 i> pairs 81\n
2068 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2075 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2069 i> flush() -> None
2076 i> flush() -> None
2070 o> readline() -> 62:
2077 o> readline() -> 62:
2071 o> upgraded * exp-ssh-v2-0003\n (glob)
2078 o> upgraded * exp-ssh-v2-0003\n (glob)
2072 o> readline() -> 4:
2079 o> readline() -> 4:
2073 o> 443\n
2080 o> 443\n
2074 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2081 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2075 o> read(1) -> 1:
2082 o> read(1) -> 1:
2076 o> \n
2083 o> \n
2077 sending pushkey command
2084 sending pushkey command
2078 i> write(8) -> 8:
2085 i> write(8) -> 8:
2079 i> pushkey\n
2086 i> pushkey\n
2080 i> write(7) -> 7:
2087 i> write(7) -> 7:
2081 i> key 40\n
2088 i> key 40\n
2082 i> write(40) -> 40: 7127240a084fd9dc86fe8d1f98e26229161ec82b
2089 i> write(40) -> 40: 7127240a084fd9dc86fe8d1f98e26229161ec82b
2083 i> write(12) -> 12:
2090 i> write(12) -> 12:
2084 i> namespace 6\n
2091 i> namespace 6\n
2085 i> write(6) -> 6: phases
2092 i> write(6) -> 6: phases
2086 i> write(6) -> 6:
2093 i> write(6) -> 6:
2087 i> new 1\n
2094 i> new 1\n
2088 i> write(1) -> 1: 0
2095 i> write(1) -> 1: 0
2089 i> write(6) -> 6:
2096 i> write(6) -> 6:
2090 i> old 1\n
2097 i> old 1\n
2091 i> write(1) -> 1: 1
2098 i> write(1) -> 1: 1
2092 i> flush() -> None
2099 i> flush() -> None
2093 o> bufferedreadline() -> 2:
2100 o> bufferedreadline() -> 2:
2094 o> 2\n
2101 o> 2\n
2095 o> bufferedread(2) -> 2:
2102 o> bufferedread(2) -> 2:
2096 o> 1\n
2103 o> 1\n
2097 response: True
2104 response: True
2098
2105
2099 $ hg phase .
2106 $ hg phase .
2100 4: public
2107 4: public
2101
2108
2102 $ cd ..
2109 $ cd ..
2103
2110
2104 Test batching of requests
2111 Test batching of requests
2105
2112
2106 $ hg init batching
2113 $ hg init batching
2107 $ cd batching
2114 $ cd batching
2108 $ echo 0 > foo
2115 $ echo 0 > foo
2109 $ hg add foo
2116 $ hg add foo
2110 $ hg -q commit -m initial
2117 $ hg -q commit -m initial
2111 $ hg phase --public
2118 $ hg phase --public
2112 $ echo 1 > foo
2119 $ echo 1 > foo
2113 $ hg commit -m 'commit 1'
2120 $ hg commit -m 'commit 1'
2114 $ hg -q up 0
2121 $ hg -q up 0
2115 $ echo 2 > foo
2122 $ echo 2 > foo
2116 $ hg commit -m 'commit 2'
2123 $ hg commit -m 'commit 2'
2117 created new head
2124 created new head
2118 $ hg book -r 1 bookA
2125 $ hg book -r 1 bookA
2119 $ hg book -r 2 bookB
2126 $ hg book -r 2 bookB
2120
2127
2121 $ debugwireproto << EOF
2128 $ debugwireproto << EOF
2122 > batchbegin
2129 > batchbegin
2123 > command heads
2130 > command heads
2124 > command listkeys
2131 > command listkeys
2125 > namespace bookmarks
2132 > namespace bookmarks
2126 > command listkeys
2133 > command listkeys
2127 > namespace phases
2134 > namespace phases
2128 > batchsubmit
2135 > batchsubmit
2129 > EOF
2136 > EOF
2130 testing ssh1
2137 testing ssh1
2131 creating ssh peer from handshake results
2138 creating ssh peer from handshake results
2132 i> write(104) -> 104:
2139 i> write(104) -> 104:
2133 i> hello\n
2140 i> hello\n
2134 i> between\n
2141 i> between\n
2135 i> pairs 81\n
2142 i> pairs 81\n
2136 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2143 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2137 i> flush() -> None
2144 i> flush() -> None
2138 o> readline() -> 4:
2145 o> readline() -> 4:
2139 o> 444\n
2146 o> 444\n
2140 o> readline() -> 444:
2147 o> readline() -> 444:
2141 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
2148 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
2142 o> readline() -> 2:
2149 o> readline() -> 2:
2143 o> 1\n
2150 o> 1\n
2144 o> readline() -> 1:
2151 o> readline() -> 1:
2145 o> \n
2152 o> \n
2146 sending batch with 3 sub-commands
2153 sending batch with 3 sub-commands
2147 i> write(6) -> 6:
2154 i> write(6) -> 6:
2148 i> batch\n
2155 i> batch\n
2149 i> write(4) -> 4:
2156 i> write(4) -> 4:
2150 i> * 0\n
2157 i> * 0\n
2151 i> write(8) -> 8:
2158 i> write(8) -> 8:
2152 i> cmds 61\n
2159 i> cmds 61\n
2153 i> write(61) -> 61: heads ;listkeys namespace=bookmarks;listkeys namespace=phases
2160 i> write(61) -> 61: heads ;listkeys namespace=bookmarks;listkeys namespace=phases
2154 i> flush() -> None
2161 i> flush() -> None
2155 o> bufferedreadline() -> 4:
2162 o> bufferedreadline() -> 4:
2156 o> 278\n
2163 o> 278\n
2157 o> bufferedread(278) -> 278:
2164 o> bufferedread(278) -> 278:
2158 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2165 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2159 o> ;bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2166 o> ;bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2160 o> bookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6;4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\n
2167 o> bookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6;4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\n
2161 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\n
2168 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\n
2162 o> publishing\tTrue
2169 o> publishing\tTrue
2163 response #0: bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2170 response #0: bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2164 response #1: bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\nbookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6
2171 response #1: bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\nbookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6
2165 response #2: 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\nbfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\npublishing\tTrue
2172 response #2: 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\nbfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\npublishing\tTrue
2166
2173
2167 testing ssh2
2174 testing ssh2
2168 creating ssh peer from handshake results
2175 creating ssh peer from handshake results
2169 i> write(171) -> 171:
2176 i> write(171) -> 171:
2170 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
2177 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
2171 i> hello\n
2178 i> hello\n
2172 i> between\n
2179 i> between\n
2173 i> pairs 81\n
2180 i> pairs 81\n
2174 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2181 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
2175 i> flush() -> None
2182 i> flush() -> None
2176 o> readline() -> 62:
2183 o> readline() -> 62:
2177 o> upgraded * exp-ssh-v2-0003\n (glob)
2184 o> upgraded * exp-ssh-v2-0003\n (glob)
2178 o> readline() -> 4:
2185 o> readline() -> 4:
2179 o> 443\n
2186 o> 443\n
2180 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2187 o> read(443) -> 443: capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash
2181 o> read(1) -> 1:
2188 o> read(1) -> 1:
2182 o> \n
2189 o> \n
2183 sending batch with 3 sub-commands
2190 sending batch with 3 sub-commands
2184 i> write(6) -> 6:
2191 i> write(6) -> 6:
2185 i> batch\n
2192 i> batch\n
2186 i> write(4) -> 4:
2193 i> write(4) -> 4:
2187 i> * 0\n
2194 i> * 0\n
2188 i> write(8) -> 8:
2195 i> write(8) -> 8:
2189 i> cmds 61\n
2196 i> cmds 61\n
2190 i> write(61) -> 61: heads ;listkeys namespace=bookmarks;listkeys namespace=phases
2197 i> write(61) -> 61: heads ;listkeys namespace=bookmarks;listkeys namespace=phases
2191 i> flush() -> None
2198 i> flush() -> None
2192 o> bufferedreadline() -> 4:
2199 o> bufferedreadline() -> 4:
2193 o> 278\n
2200 o> 278\n
2194 o> bufferedread(278) -> 278:
2201 o> bufferedread(278) -> 278:
2195 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2202 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2196 o> ;bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2203 o> ;bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2197 o> bookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6;4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\n
2204 o> bookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6;4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\n
2198 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\n
2205 o> bfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\n
2199 o> publishing\tTrue
2206 o> publishing\tTrue
2200 response #0: bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2207 response #0: bfebe6bd38eebc6f8202e419c1171268987ea6a6 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\n
2201 response #1: bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\nbookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6
2208 response #1: bookA\t4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\nbookB\tbfebe6bd38eebc6f8202e419c1171268987ea6a6
2202 response #2: 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\nbfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\npublishing\tTrue
2209 response #2: 4ee3fcef1c800fa2bf23e20af7c83ff111d9c7ab\t1\nbfebe6bd38eebc6f8202e419c1171268987ea6a6\t1\npublishing\tTrue
General Comments 0
You need to be logged in to leave comments. Login now