##// END OF EJS Templates
persistent-nodemap: disable it unconditionally for test-ssh-proto-unbundle.t...
marmoute -
r47642:8bf21b38 default
parent child Browse files
Show More
@@ -1,2022 +1,2029
1 persistent-nodemap is not enabled by default. It is not relevant for this test so disable it.
2
3 $ cat << EOF >> $HGRCPATH
4 > [format]
5 > use-persistent-nodemap = no
6 > EOF
7
1 8 $ cat > hgrc-sshv2 << EOF
2 9 > %include $HGRCPATH
3 10 > [experimental]
4 11 > sshpeer.advertise-v2 = true
5 12 > sshserver.support-v2 = true
6 13 > EOF
7 14
8 15 $ debugwireproto() {
9 16 > commands=`cat -`
10 17 > echo 'testing ssh1'
11 18 > tip=`hg log -r tip -T '{node}'`
12 19 > echo "${commands}" | hg --verbose debugwireproto --localssh --noreadstderr
13 20 > if [ -n "$1" ]; then
14 21 > hg --config extensions.strip= strip --no-backup -r "all() - ::${tip}"
15 22 > fi
16 23 > echo ""
17 24 > echo 'testing ssh2'
18 25 > echo "${commands}" | HGRCPATH=$TESTTMP/hgrc-sshv2 hg --verbose debugwireproto --localssh --noreadstderr
19 26 > if [ -n "$1" ]; then
20 27 > hg --config extensions.strip= strip --no-backup -r "all() - ::${tip}"
21 28 > fi
22 29 > }
23 30
24 31 Generate some bundle files
25 32
26 33 $ hg init repo
27 34 $ cd repo
28 35 $ echo 0 > foo
29 36 $ hg -q commit -A -m initial
30 37 $ hg bundle --all -t none-v1 ../initial.v1.hg
31 38 1 changesets found
32 39 $ cd ..
33 40
34 41 Test pushing bundle1 payload to a server with bundle1 disabled
35 42
36 43 $ hg init no-bundle1
37 44 $ cd no-bundle1
38 45 $ cat > .hg/hgrc << EOF
39 46 > [server]
40 47 > bundle1 = false
41 48 > EOF
42 49
43 50 $ debugwireproto << EOF
44 51 > command unbundle
45 52 > # This is "force" in hex.
46 53 > heads 666f726365
47 54 > PUSHFILE ../initial.v1.hg
48 55 > readavailable
49 56 > EOF
50 57 testing ssh1
51 58 creating ssh peer from handshake results
52 59 i> write(104) -> 104:
53 60 i> hello\n
54 61 i> between\n
55 62 i> pairs 81\n
56 63 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
57 64 i> flush() -> None
58 65 o> readline() -> 4:
59 66 o> 444\n
60 67 o> readline() -> 444:
61 68 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
62 69 o> readline() -> 2:
63 70 o> 1\n
64 71 o> readline() -> 1:
65 72 o> \n
66 73 sending unbundle command
67 74 i> write(9) -> 9:
68 75 i> unbundle\n
69 76 i> write(9) -> 9:
70 77 i> heads 10\n
71 78 i> write(10) -> 10: 666f726365
72 79 i> flush() -> None
73 80 o> readline() -> 2:
74 81 o> 0\n
75 82 i> write(4) -> 4:
76 83 i> 426\n
77 84 i> write(426) -> 426:
78 85 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
79 86 i> test\n
80 87 i> 0 0\n
81 88 i> foo\n
82 89 i> \n
83 90 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
84 91 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
85 92 i> \x00\x00\x00\x00\x00\x00\x00\x00
86 93 i> write(2) -> 2:
87 94 i> 0\n
88 95 i> flush() -> None
89 96 o> readline() -> 2:
90 97 o> 0\n
91 98 o> readline() -> 2:
92 99 o> 1\n
93 100 o> read(1) -> 1: 0
94 101 result: 0
95 102 remote output:
96 103 e> read(-1) -> 115:
97 104 e> abort: incompatible Mercurial client; bundle2 required\n
98 105 e> (see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n
99 106
100 107 testing ssh2
101 108 creating ssh peer from handshake results
102 109 i> write(171) -> 171:
103 110 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
104 111 i> hello\n
105 112 i> between\n
106 113 i> pairs 81\n
107 114 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
108 115 i> flush() -> None
109 116 o> readline() -> 62:
110 117 o> upgraded * exp-ssh-v2-0003\n (glob)
111 118 o> readline() -> 4:
112 119 o> 443\n
113 120 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
114 121 o> read(1) -> 1:
115 122 o> \n
116 123 sending unbundle command
117 124 i> write(9) -> 9:
118 125 i> unbundle\n
119 126 i> write(9) -> 9:
120 127 i> heads 10\n
121 128 i> write(10) -> 10: 666f726365
122 129 i> flush() -> None
123 130 o> readline() -> 2:
124 131 o> 0\n
125 132 i> write(4) -> 4:
126 133 i> 426\n
127 134 i> write(426) -> 426:
128 135 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
129 136 i> test\n
130 137 i> 0 0\n
131 138 i> foo\n
132 139 i> \n
133 140 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
134 141 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
135 142 i> \x00\x00\x00\x00\x00\x00\x00\x00
136 143 i> write(2) -> 2:
137 144 i> 0\n
138 145 i> flush() -> None
139 146 o> readline() -> 2:
140 147 o> 0\n
141 148 o> readline() -> 2:
142 149 o> 1\n
143 150 o> read(1) -> 1: 0
144 151 result: 0
145 152 remote output:
146 153 e> read(-1) -> 115:
147 154 e> abort: incompatible Mercurial client; bundle2 required\n
148 155 e> (see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n
149 156
150 157 $ cd ..
151 158
152 159 Create a pretxnchangegroup hook that fails. Give it multiple modes of printing
153 160 output so we can test I/O capture and behavior.
154 161
155 162 Test pushing to a server that has a pretxnchangegroup Python hook that fails
156 163
157 164 $ cat > $TESTTMP/failhook << EOF
158 165 > from __future__ import print_function
159 166 > import sys
160 167 > def hook1line(ui, repo, **kwargs):
161 168 > ui.write(b'ui.write 1 line\n')
162 169 > ui.flush()
163 170 > return 1
164 171 > def hook2lines(ui, repo, **kwargs):
165 172 > ui.write(b'ui.write 2 lines 1\n')
166 173 > ui.write(b'ui.write 2 lines 2\n')
167 174 > ui.flush()
168 175 > return 1
169 176 > def hook1lineflush(ui, repo, **kwargs):
170 177 > ui.write(b'ui.write 1 line flush\n')
171 178 > ui.flush()
172 179 > return 1
173 180 > def hookmultiflush(ui, repo, **kwargs):
174 181 > ui.write(b'ui.write 1st\n')
175 182 > ui.flush()
176 183 > ui.write(b'ui.write 2nd\n')
177 184 > ui.flush()
178 185 > return 1
179 186 > def hookwriteandwriteerr(ui, repo, **kwargs):
180 187 > ui.write(b'ui.write 1\n')
181 188 > ui.write_err(b'ui.write_err 1\n')
182 189 > ui.write(b'ui.write 2\n')
183 190 > ui.write_err(b'ui.write_err 2\n')
184 191 > ui.flush()
185 192 > return 1
186 193 > def hookprintstdout(ui, repo, **kwargs):
187 194 > print('printed line')
188 195 > sys.stdout.flush()
189 196 > return 1
190 197 > def hookprintandwrite(ui, repo, **kwargs):
191 198 > print('print 1')
192 199 > sys.stdout.flush()
193 200 > ui.write(b'ui.write 1\n')
194 201 > ui.flush()
195 202 > print('print 2')
196 203 > sys.stdout.flush()
197 204 > ui.write(b'ui.write 2\n')
198 205 > ui.flush()
199 206 > return 1
200 207 > def hookprintstderrandstdout(ui, repo, **kwargs):
201 208 > print('stdout 1')
202 209 > sys.stdout.flush()
203 210 > print('stderr 1', file=sys.stderr)
204 211 > sys.stderr.flush()
205 212 > print('stdout 2')
206 213 > sys.stdout.flush()
207 214 > print('stderr 2', file=sys.stderr)
208 215 > sys.stderr.flush()
209 216 > return 1
210 217 > EOF
211 218
212 219 $ hg init failrepo
213 220 $ cd failrepo
214 221
215 222 ui.write() in hook is redirected to stderr
216 223
217 224 $ cat > .hg/hgrc << EOF
218 225 > [hooks]
219 226 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hook1line
220 227 > EOF
221 228
222 229 $ debugwireproto << EOF
223 230 > command unbundle
224 231 > # This is "force" in hex.
225 232 > heads 666f726365
226 233 > PUSHFILE ../initial.v1.hg
227 234 > readavailable
228 235 > EOF
229 236 testing ssh1
230 237 creating ssh peer from handshake results
231 238 i> write(104) -> 104:
232 239 i> hello\n
233 240 i> between\n
234 241 i> pairs 81\n
235 242 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
236 243 i> flush() -> None
237 244 o> readline() -> 4:
238 245 o> 444\n
239 246 o> readline() -> 444:
240 247 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
241 248 o> readline() -> 2:
242 249 o> 1\n
243 250 o> readline() -> 1:
244 251 o> \n
245 252 sending unbundle command
246 253 i> write(9) -> 9:
247 254 i> unbundle\n
248 255 i> write(9) -> 9:
249 256 i> heads 10\n
250 257 i> write(10) -> 10: 666f726365
251 258 i> flush() -> None
252 259 o> readline() -> 2:
253 260 o> 0\n
254 261 i> write(4) -> 4:
255 262 i> 426\n
256 263 i> write(426) -> 426:
257 264 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
258 265 i> test\n
259 266 i> 0 0\n
260 267 i> foo\n
261 268 i> \n
262 269 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
263 270 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
264 271 i> \x00\x00\x00\x00\x00\x00\x00\x00
265 272 i> write(2) -> 2:
266 273 i> 0\n
267 274 i> flush() -> None
268 275 o> readline() -> 2:
269 276 o> 0\n
270 277 o> readline() -> 2:
271 278 o> 1\n
272 279 o> read(1) -> 1: 0
273 280 result: 0
274 281 remote output:
275 282 e> read(-1) -> 151:
276 283 e> adding changesets\n
277 284 e> adding manifests\n
278 285 e> adding file changes\n
279 286 e> ui.write 1 line\n
280 287 e> transaction abort!\n
281 288 e> rollback completed\n
282 289 e> abort: pretxnchangegroup.fail hook failed\n
283 290
284 291 testing ssh2
285 292 creating ssh peer from handshake results
286 293 i> write(171) -> 171:
287 294 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
288 295 i> hello\n
289 296 i> between\n
290 297 i> pairs 81\n
291 298 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
292 299 i> flush() -> None
293 300 o> readline() -> 62:
294 301 o> upgraded * exp-ssh-v2-0003\n (glob)
295 302 o> readline() -> 4:
296 303 o> 443\n
297 304 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
298 305 o> read(1) -> 1:
299 306 o> \n
300 307 sending unbundle command
301 308 i> write(9) -> 9:
302 309 i> unbundle\n
303 310 i> write(9) -> 9:
304 311 i> heads 10\n
305 312 i> write(10) -> 10: 666f726365
306 313 i> flush() -> None
307 314 o> readline() -> 2:
308 315 o> 0\n
309 316 i> write(4) -> 4:
310 317 i> 426\n
311 318 i> write(426) -> 426:
312 319 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
313 320 i> test\n
314 321 i> 0 0\n
315 322 i> foo\n
316 323 i> \n
317 324 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
318 325 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
319 326 i> \x00\x00\x00\x00\x00\x00\x00\x00
320 327 i> write(2) -> 2:
321 328 i> 0\n
322 329 i> flush() -> None
323 330 o> readline() -> 2:
324 331 o> 0\n
325 332 o> readline() -> 2:
326 333 o> 1\n
327 334 o> read(1) -> 1: 0
328 335 result: 0
329 336 remote output:
330 337 e> read(-1) -> 151:
331 338 e> adding changesets\n
332 339 e> adding manifests\n
333 340 e> adding file changes\n
334 341 e> ui.write 1 line\n
335 342 e> transaction abort!\n
336 343 e> rollback completed\n
337 344 e> abort: pretxnchangegroup.fail hook failed\n
338 345
339 346 And a variation that writes multiple lines using ui.write
340 347
341 348 $ cat > .hg/hgrc << EOF
342 349 > [hooks]
343 350 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hook2lines
344 351 > EOF
345 352
346 353 $ debugwireproto << EOF
347 354 > command unbundle
348 355 > # This is "force" in hex.
349 356 > heads 666f726365
350 357 > PUSHFILE ../initial.v1.hg
351 358 > readavailable
352 359 > EOF
353 360 testing ssh1
354 361 creating ssh peer from handshake results
355 362 i> write(104) -> 104:
356 363 i> hello\n
357 364 i> between\n
358 365 i> pairs 81\n
359 366 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
360 367 i> flush() -> None
361 368 o> readline() -> 4:
362 369 o> 444\n
363 370 o> readline() -> 444:
364 371 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
365 372 o> readline() -> 2:
366 373 o> 1\n
367 374 o> readline() -> 1:
368 375 o> \n
369 376 sending unbundle command
370 377 i> write(9) -> 9:
371 378 i> unbundle\n
372 379 i> write(9) -> 9:
373 380 i> heads 10\n
374 381 i> write(10) -> 10: 666f726365
375 382 i> flush() -> None
376 383 o> readline() -> 2:
377 384 o> 0\n
378 385 i> write(4) -> 4:
379 386 i> 426\n
380 387 i> write(426) -> 426:
381 388 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
382 389 i> test\n
383 390 i> 0 0\n
384 391 i> foo\n
385 392 i> \n
386 393 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
387 394 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
388 395 i> \x00\x00\x00\x00\x00\x00\x00\x00
389 396 i> write(2) -> 2:
390 397 i> 0\n
391 398 i> flush() -> None
392 399 o> readline() -> 2:
393 400 o> 0\n
394 401 o> readline() -> 2:
395 402 o> 1\n
396 403 o> read(1) -> 1: 0
397 404 result: 0
398 405 remote output:
399 406 e> read(-1) -> 173:
400 407 e> adding changesets\n
401 408 e> adding manifests\n
402 409 e> adding file changes\n
403 410 e> ui.write 2 lines 1\n
404 411 e> ui.write 2 lines 2\n
405 412 e> transaction abort!\n
406 413 e> rollback completed\n
407 414 e> abort: pretxnchangegroup.fail hook failed\n
408 415
409 416 testing ssh2
410 417 creating ssh peer from handshake results
411 418 i> write(171) -> 171:
412 419 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
413 420 i> hello\n
414 421 i> between\n
415 422 i> pairs 81\n
416 423 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
417 424 i> flush() -> None
418 425 o> readline() -> 62:
419 426 o> upgraded * exp-ssh-v2-0003\n (glob)
420 427 o> readline() -> 4:
421 428 o> 443\n
422 429 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
423 430 o> read(1) -> 1:
424 431 o> \n
425 432 sending unbundle command
426 433 i> write(9) -> 9:
427 434 i> unbundle\n
428 435 i> write(9) -> 9:
429 436 i> heads 10\n
430 437 i> write(10) -> 10: 666f726365
431 438 i> flush() -> None
432 439 o> readline() -> 2:
433 440 o> 0\n
434 441 i> write(4) -> 4:
435 442 i> 426\n
436 443 i> write(426) -> 426:
437 444 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
438 445 i> test\n
439 446 i> 0 0\n
440 447 i> foo\n
441 448 i> \n
442 449 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
443 450 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
444 451 i> \x00\x00\x00\x00\x00\x00\x00\x00
445 452 i> write(2) -> 2:
446 453 i> 0\n
447 454 i> flush() -> None
448 455 o> readline() -> 2:
449 456 o> 0\n
450 457 o> readline() -> 2:
451 458 o> 1\n
452 459 o> read(1) -> 1: 0
453 460 result: 0
454 461 remote output:
455 462 e> read(-1) -> 173:
456 463 e> adding changesets\n
457 464 e> adding manifests\n
458 465 e> adding file changes\n
459 466 e> ui.write 2 lines 1\n
460 467 e> ui.write 2 lines 2\n
461 468 e> transaction abort!\n
462 469 e> rollback completed\n
463 470 e> abort: pretxnchangegroup.fail hook failed\n
464 471
465 472 And a variation that does a ui.flush() after writing output
466 473
467 474 $ cat > .hg/hgrc << EOF
468 475 > [hooks]
469 476 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hook1lineflush
470 477 > EOF
471 478
472 479 $ debugwireproto << EOF
473 480 > command unbundle
474 481 > # This is "force" in hex.
475 482 > heads 666f726365
476 483 > PUSHFILE ../initial.v1.hg
477 484 > readavailable
478 485 > EOF
479 486 testing ssh1
480 487 creating ssh peer from handshake results
481 488 i> write(104) -> 104:
482 489 i> hello\n
483 490 i> between\n
484 491 i> pairs 81\n
485 492 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
486 493 i> flush() -> None
487 494 o> readline() -> 4:
488 495 o> 444\n
489 496 o> readline() -> 444:
490 497 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
491 498 o> readline() -> 2:
492 499 o> 1\n
493 500 o> readline() -> 1:
494 501 o> \n
495 502 sending unbundle command
496 503 i> write(9) -> 9:
497 504 i> unbundle\n
498 505 i> write(9) -> 9:
499 506 i> heads 10\n
500 507 i> write(10) -> 10: 666f726365
501 508 i> flush() -> None
502 509 o> readline() -> 2:
503 510 o> 0\n
504 511 i> write(4) -> 4:
505 512 i> 426\n
506 513 i> write(426) -> 426:
507 514 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
508 515 i> test\n
509 516 i> 0 0\n
510 517 i> foo\n
511 518 i> \n
512 519 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
513 520 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
514 521 i> \x00\x00\x00\x00\x00\x00\x00\x00
515 522 i> write(2) -> 2:
516 523 i> 0\n
517 524 i> flush() -> None
518 525 o> readline() -> 2:
519 526 o> 0\n
520 527 o> readline() -> 2:
521 528 o> 1\n
522 529 o> read(1) -> 1: 0
523 530 result: 0
524 531 remote output:
525 532 e> read(-1) -> 157:
526 533 e> adding changesets\n
527 534 e> adding manifests\n
528 535 e> adding file changes\n
529 536 e> ui.write 1 line flush\n
530 537 e> transaction abort!\n
531 538 e> rollback completed\n
532 539 e> abort: pretxnchangegroup.fail hook failed\n
533 540
534 541 testing ssh2
535 542 creating ssh peer from handshake results
536 543 i> write(171) -> 171:
537 544 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
538 545 i> hello\n
539 546 i> between\n
540 547 i> pairs 81\n
541 548 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
542 549 i> flush() -> None
543 550 o> readline() -> 62:
544 551 o> upgraded * exp-ssh-v2-0003\n (glob)
545 552 o> readline() -> 4:
546 553 o> 443\n
547 554 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
548 555 o> read(1) -> 1:
549 556 o> \n
550 557 sending unbundle command
551 558 i> write(9) -> 9:
552 559 i> unbundle\n
553 560 i> write(9) -> 9:
554 561 i> heads 10\n
555 562 i> write(10) -> 10: 666f726365
556 563 i> flush() -> None
557 564 o> readline() -> 2:
558 565 o> 0\n
559 566 i> write(4) -> 4:
560 567 i> 426\n
561 568 i> write(426) -> 426:
562 569 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
563 570 i> test\n
564 571 i> 0 0\n
565 572 i> foo\n
566 573 i> \n
567 574 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
568 575 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
569 576 i> \x00\x00\x00\x00\x00\x00\x00\x00
570 577 i> write(2) -> 2:
571 578 i> 0\n
572 579 i> flush() -> None
573 580 o> readline() -> 2:
574 581 o> 0\n
575 582 o> readline() -> 2:
576 583 o> 1\n
577 584 o> read(1) -> 1: 0
578 585 result: 0
579 586 remote output:
580 587 e> read(-1) -> 157:
581 588 e> adding changesets\n
582 589 e> adding manifests\n
583 590 e> adding file changes\n
584 591 e> ui.write 1 line flush\n
585 592 e> transaction abort!\n
586 593 e> rollback completed\n
587 594 e> abort: pretxnchangegroup.fail hook failed\n
588 595
589 596 Multiple writes + flush
590 597
591 598 $ cat > .hg/hgrc << EOF
592 599 > [hooks]
593 600 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hookmultiflush
594 601 > EOF
595 602
596 603 $ debugwireproto << EOF
597 604 > command unbundle
598 605 > # This is "force" in hex.
599 606 > heads 666f726365
600 607 > PUSHFILE ../initial.v1.hg
601 608 > readavailable
602 609 > EOF
603 610 testing ssh1
604 611 creating ssh peer from handshake results
605 612 i> write(104) -> 104:
606 613 i> hello\n
607 614 i> between\n
608 615 i> pairs 81\n
609 616 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
610 617 i> flush() -> None
611 618 o> readline() -> 4:
612 619 o> 444\n
613 620 o> readline() -> 444:
614 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 o> readline() -> 2:
616 623 o> 1\n
617 624 o> readline() -> 1:
618 625 o> \n
619 626 sending unbundle command
620 627 i> write(9) -> 9:
621 628 i> unbundle\n
622 629 i> write(9) -> 9:
623 630 i> heads 10\n
624 631 i> write(10) -> 10: 666f726365
625 632 i> flush() -> None
626 633 o> readline() -> 2:
627 634 o> 0\n
628 635 i> write(4) -> 4:
629 636 i> 426\n
630 637 i> write(426) -> 426:
631 638 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
632 639 i> test\n
633 640 i> 0 0\n
634 641 i> foo\n
635 642 i> \n
636 643 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
637 644 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
638 645 i> \x00\x00\x00\x00\x00\x00\x00\x00
639 646 i> write(2) -> 2:
640 647 i> 0\n
641 648 i> flush() -> None
642 649 o> readline() -> 2:
643 650 o> 0\n
644 651 o> readline() -> 2:
645 652 o> 1\n
646 653 o> read(1) -> 1: 0
647 654 result: 0
648 655 remote output:
649 656 e> read(-1) -> 161:
650 657 e> adding changesets\n
651 658 e> adding manifests\n
652 659 e> adding file changes\n
653 660 e> ui.write 1st\n
654 661 e> ui.write 2nd\n
655 662 e> transaction abort!\n
656 663 e> rollback completed\n
657 664 e> abort: pretxnchangegroup.fail hook failed\n
658 665
659 666 testing ssh2
660 667 creating ssh peer from handshake results
661 668 i> write(171) -> 171:
662 669 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
663 670 i> hello\n
664 671 i> between\n
665 672 i> pairs 81\n
666 673 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
667 674 i> flush() -> None
668 675 o> readline() -> 62:
669 676 o> upgraded * exp-ssh-v2-0003\n (glob)
670 677 o> readline() -> 4:
671 678 o> 443\n
672 679 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
673 680 o> read(1) -> 1:
674 681 o> \n
675 682 sending unbundle command
676 683 i> write(9) -> 9:
677 684 i> unbundle\n
678 685 i> write(9) -> 9:
679 686 i> heads 10\n
680 687 i> write(10) -> 10: 666f726365
681 688 i> flush() -> None
682 689 o> readline() -> 2:
683 690 o> 0\n
684 691 i> write(4) -> 4:
685 692 i> 426\n
686 693 i> write(426) -> 426:
687 694 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
688 695 i> test\n
689 696 i> 0 0\n
690 697 i> foo\n
691 698 i> \n
692 699 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
693 700 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
694 701 i> \x00\x00\x00\x00\x00\x00\x00\x00
695 702 i> write(2) -> 2:
696 703 i> 0\n
697 704 i> flush() -> None
698 705 o> readline() -> 2:
699 706 o> 0\n
700 707 o> readline() -> 2:
701 708 o> 1\n
702 709 o> read(1) -> 1: 0
703 710 result: 0
704 711 remote output:
705 712 e> read(-1) -> 161:
706 713 e> adding changesets\n
707 714 e> adding manifests\n
708 715 e> adding file changes\n
709 716 e> ui.write 1st\n
710 717 e> ui.write 2nd\n
711 718 e> transaction abort!\n
712 719 e> rollback completed\n
713 720 e> abort: pretxnchangegroup.fail hook failed\n
714 721
715 722 ui.write() + ui.write_err() output is captured
716 723
717 724 $ cat > .hg/hgrc << EOF
718 725 > [hooks]
719 726 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hookwriteandwriteerr
720 727 > EOF
721 728
722 729 $ debugwireproto << EOF
723 730 > command unbundle
724 731 > # This is "force" in hex.
725 732 > heads 666f726365
726 733 > PUSHFILE ../initial.v1.hg
727 734 > readavailable
728 735 > EOF
729 736 testing ssh1
730 737 creating ssh peer from handshake results
731 738 i> write(104) -> 104:
732 739 i> hello\n
733 740 i> between\n
734 741 i> pairs 81\n
735 742 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
736 743 i> flush() -> None
737 744 o> readline() -> 4:
738 745 o> 444\n
739 746 o> readline() -> 444:
740 747 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
741 748 o> readline() -> 2:
742 749 o> 1\n
743 750 o> readline() -> 1:
744 751 o> \n
745 752 sending unbundle command
746 753 i> write(9) -> 9:
747 754 i> unbundle\n
748 755 i> write(9) -> 9:
749 756 i> heads 10\n
750 757 i> write(10) -> 10: 666f726365
751 758 i> flush() -> None
752 759 o> readline() -> 2:
753 760 o> 0\n
754 761 i> write(4) -> 4:
755 762 i> 426\n
756 763 i> write(426) -> 426:
757 764 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
758 765 i> test\n
759 766 i> 0 0\n
760 767 i> foo\n
761 768 i> \n
762 769 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
763 770 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
764 771 i> \x00\x00\x00\x00\x00\x00\x00\x00
765 772 i> write(2) -> 2:
766 773 i> 0\n
767 774 i> flush() -> None
768 775 o> readline() -> 2:
769 776 o> 0\n
770 777 o> readline() -> 2:
771 778 o> 1\n
772 779 o> read(1) -> 1: 0
773 780 result: 0
774 781 remote output:
775 782 e> read(-1) -> 187:
776 783 e> adding changesets\n
777 784 e> adding manifests\n
778 785 e> adding file changes\n
779 786 e> ui.write 1\n
780 787 e> ui.write_err 1\n
781 788 e> ui.write 2\n
782 789 e> ui.write_err 2\n
783 790 e> transaction abort!\n
784 791 e> rollback completed\n
785 792 e> abort: pretxnchangegroup.fail hook failed\n
786 793
787 794 testing ssh2
788 795 creating ssh peer from handshake results
789 796 i> write(171) -> 171:
790 797 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
791 798 i> hello\n
792 799 i> between\n
793 800 i> pairs 81\n
794 801 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
795 802 i> flush() -> None
796 803 o> readline() -> 62:
797 804 o> upgraded * exp-ssh-v2-0003\n (glob)
798 805 o> readline() -> 4:
799 806 o> 443\n
800 807 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
801 808 o> read(1) -> 1:
802 809 o> \n
803 810 sending unbundle command
804 811 i> write(9) -> 9:
805 812 i> unbundle\n
806 813 i> write(9) -> 9:
807 814 i> heads 10\n
808 815 i> write(10) -> 10: 666f726365
809 816 i> flush() -> None
810 817 o> readline() -> 2:
811 818 o> 0\n
812 819 i> write(4) -> 4:
813 820 i> 426\n
814 821 i> write(426) -> 426:
815 822 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
816 823 i> test\n
817 824 i> 0 0\n
818 825 i> foo\n
819 826 i> \n
820 827 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
821 828 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
822 829 i> \x00\x00\x00\x00\x00\x00\x00\x00
823 830 i> write(2) -> 2:
824 831 i> 0\n
825 832 i> flush() -> None
826 833 o> readline() -> 2:
827 834 o> 0\n
828 835 o> readline() -> 2:
829 836 o> 1\n
830 837 o> read(1) -> 1: 0
831 838 result: 0
832 839 remote output:
833 840 e> read(-1) -> 187:
834 841 e> adding changesets\n
835 842 e> adding manifests\n
836 843 e> adding file changes\n
837 844 e> ui.write 1\n
838 845 e> ui.write_err 1\n
839 846 e> ui.write 2\n
840 847 e> ui.write_err 2\n
841 848 e> transaction abort!\n
842 849 e> rollback completed\n
843 850 e> abort: pretxnchangegroup.fail hook failed\n
844 851
845 852 print() output is captured
846 853
847 854 $ cat > .hg/hgrc << EOF
848 855 > [hooks]
849 856 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hookprintstdout
850 857 > EOF
851 858
852 859 $ debugwireproto << EOF
853 860 > command unbundle
854 861 > # This is "force" in hex.
855 862 > heads 666f726365
856 863 > PUSHFILE ../initial.v1.hg
857 864 > readavailable
858 865 > EOF
859 866 testing ssh1
860 867 creating ssh peer from handshake results
861 868 i> write(104) -> 104:
862 869 i> hello\n
863 870 i> between\n
864 871 i> pairs 81\n
865 872 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
866 873 i> flush() -> None
867 874 o> readline() -> 4:
868 875 o> 444\n
869 876 o> readline() -> 444:
870 877 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
871 878 o> readline() -> 2:
872 879 o> 1\n
873 880 o> readline() -> 1:
874 881 o> \n
875 882 sending unbundle command
876 883 i> write(9) -> 9:
877 884 i> unbundle\n
878 885 i> write(9) -> 9:
879 886 i> heads 10\n
880 887 i> write(10) -> 10: 666f726365
881 888 i> flush() -> None
882 889 o> readline() -> 2:
883 890 o> 0\n
884 891 i> write(4) -> 4:
885 892 i> 426\n
886 893 i> write(426) -> 426:
887 894 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
888 895 i> test\n
889 896 i> 0 0\n
890 897 i> foo\n
891 898 i> \n
892 899 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
893 900 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
894 901 i> \x00\x00\x00\x00\x00\x00\x00\x00
895 902 i> write(2) -> 2:
896 903 i> 0\n
897 904 i> flush() -> None
898 905 o> readline() -> 2:
899 906 o> 0\n
900 907 o> readline() -> 2:
901 908 o> 1\n
902 909 o> read(1) -> 1: 0
903 910 result: 0
904 911 remote output:
905 912 e> read(-1) -> 148:
906 913 e> adding changesets\n
907 914 e> adding manifests\n
908 915 e> adding file changes\n
909 916 e> printed line\n
910 917 e> transaction abort!\n
911 918 e> rollback completed\n
912 919 e> abort: pretxnchangegroup.fail hook failed\n
913 920
914 921 testing ssh2
915 922 creating ssh peer from handshake results
916 923 i> write(171) -> 171:
917 924 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
918 925 i> hello\n
919 926 i> between\n
920 927 i> pairs 81\n
921 928 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
922 929 i> flush() -> None
923 930 o> readline() -> 62:
924 931 o> upgraded * exp-ssh-v2-0003\n (glob)
925 932 o> readline() -> 4:
926 933 o> 443\n
927 934 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
928 935 o> read(1) -> 1:
929 936 o> \n
930 937 sending unbundle command
931 938 i> write(9) -> 9:
932 939 i> unbundle\n
933 940 i> write(9) -> 9:
934 941 i> heads 10\n
935 942 i> write(10) -> 10: 666f726365
936 943 i> flush() -> None
937 944 o> readline() -> 2:
938 945 o> 0\n
939 946 i> write(4) -> 4:
940 947 i> 426\n
941 948 i> write(426) -> 426:
942 949 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
943 950 i> test\n
944 951 i> 0 0\n
945 952 i> foo\n
946 953 i> \n
947 954 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
948 955 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
949 956 i> \x00\x00\x00\x00\x00\x00\x00\x00
950 957 i> write(2) -> 2:
951 958 i> 0\n
952 959 i> flush() -> None
953 960 o> readline() -> 2:
954 961 o> 0\n
955 962 o> readline() -> 2:
956 963 o> 1\n
957 964 o> read(1) -> 1: 0
958 965 result: 0
959 966 remote output:
960 967 e> read(-1) -> 148:
961 968 e> adding changesets\n
962 969 e> adding manifests\n
963 970 e> adding file changes\n
964 971 e> printed line\n
965 972 e> transaction abort!\n
966 973 e> rollback completed\n
967 974 e> abort: pretxnchangegroup.fail hook failed\n
968 975
969 976 Mixed print() and ui.write() are both captured
970 977
971 978 $ cat > .hg/hgrc << EOF
972 979 > [hooks]
973 980 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hookprintandwrite
974 981 > EOF
975 982
976 983 $ debugwireproto << EOF
977 984 > command unbundle
978 985 > # This is "force" in hex.
979 986 > heads 666f726365
980 987 > PUSHFILE ../initial.v1.hg
981 988 > readavailable
982 989 > EOF
983 990 testing ssh1
984 991 creating ssh peer from handshake results
985 992 i> write(104) -> 104:
986 993 i> hello\n
987 994 i> between\n
988 995 i> pairs 81\n
989 996 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
990 997 i> flush() -> None
991 998 o> readline() -> 4:
992 999 o> 444\n
993 1000 o> readline() -> 444:
994 1001 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
995 1002 o> readline() -> 2:
996 1003 o> 1\n
997 1004 o> readline() -> 1:
998 1005 o> \n
999 1006 sending unbundle command
1000 1007 i> write(9) -> 9:
1001 1008 i> unbundle\n
1002 1009 i> write(9) -> 9:
1003 1010 i> heads 10\n
1004 1011 i> write(10) -> 10: 666f726365
1005 1012 i> flush() -> None
1006 1013 o> readline() -> 2:
1007 1014 o> 0\n
1008 1015 i> write(4) -> 4:
1009 1016 i> 426\n
1010 1017 i> write(426) -> 426:
1011 1018 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1012 1019 i> test\n
1013 1020 i> 0 0\n
1014 1021 i> foo\n
1015 1022 i> \n
1016 1023 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1017 1024 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1018 1025 i> \x00\x00\x00\x00\x00\x00\x00\x00
1019 1026 i> write(2) -> 2:
1020 1027 i> 0\n
1021 1028 i> flush() -> None
1022 1029 o> readline() -> 2:
1023 1030 o> 0\n
1024 1031 o> readline() -> 2:
1025 1032 o> 1\n
1026 1033 o> read(1) -> 1: 0
1027 1034 result: 0
1028 1035 remote output:
1029 1036 e> read(-1) -> 173:
1030 1037 e> adding changesets\n
1031 1038 e> adding manifests\n
1032 1039 e> adding file changes\n
1033 1040 e> print 1\n
1034 1041 e> ui.write 1\n
1035 1042 e> print 2\n
1036 1043 e> ui.write 2\n
1037 1044 e> transaction abort!\n
1038 1045 e> rollback completed\n
1039 1046 e> abort: pretxnchangegroup.fail hook failed\n
1040 1047
1041 1048 testing ssh2
1042 1049 creating ssh peer from handshake results
1043 1050 i> write(171) -> 171:
1044 1051 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1045 1052 i> hello\n
1046 1053 i> between\n
1047 1054 i> pairs 81\n
1048 1055 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1049 1056 i> flush() -> None
1050 1057 o> readline() -> 62:
1051 1058 o> upgraded * exp-ssh-v2-0003\n (glob)
1052 1059 o> readline() -> 4:
1053 1060 o> 443\n
1054 1061 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
1055 1062 o> read(1) -> 1:
1056 1063 o> \n
1057 1064 sending unbundle command
1058 1065 i> write(9) -> 9:
1059 1066 i> unbundle\n
1060 1067 i> write(9) -> 9:
1061 1068 i> heads 10\n
1062 1069 i> write(10) -> 10: 666f726365
1063 1070 i> flush() -> None
1064 1071 o> readline() -> 2:
1065 1072 o> 0\n
1066 1073 i> write(4) -> 4:
1067 1074 i> 426\n
1068 1075 i> write(426) -> 426:
1069 1076 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1070 1077 i> test\n
1071 1078 i> 0 0\n
1072 1079 i> foo\n
1073 1080 i> \n
1074 1081 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1075 1082 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1076 1083 i> \x00\x00\x00\x00\x00\x00\x00\x00
1077 1084 i> write(2) -> 2:
1078 1085 i> 0\n
1079 1086 i> flush() -> None
1080 1087 o> readline() -> 2:
1081 1088 o> 0\n
1082 1089 o> readline() -> 2:
1083 1090 o> 1\n
1084 1091 o> read(1) -> 1: 0
1085 1092 result: 0
1086 1093 remote output:
1087 1094 e> read(-1) -> 173:
1088 1095 e> adding changesets\n
1089 1096 e> adding manifests\n
1090 1097 e> adding file changes\n
1091 1098 e> print 1\n
1092 1099 e> ui.write 1\n
1093 1100 e> print 2\n
1094 1101 e> ui.write 2\n
1095 1102 e> transaction abort!\n
1096 1103 e> rollback completed\n
1097 1104 e> abort: pretxnchangegroup.fail hook failed\n
1098 1105
1099 1106 print() to stdout and stderr both get captured
1100 1107
1101 1108 $ cat > .hg/hgrc << EOF
1102 1109 > [hooks]
1103 1110 > pretxnchangegroup.fail = python:$TESTTMP/failhook:hookprintstderrandstdout
1104 1111 > EOF
1105 1112
1106 1113 $ debugwireproto << EOF
1107 1114 > command unbundle
1108 1115 > # This is "force" in hex.
1109 1116 > heads 666f726365
1110 1117 > PUSHFILE ../initial.v1.hg
1111 1118 > readavailable
1112 1119 > EOF
1113 1120 testing ssh1
1114 1121 creating ssh peer from handshake results
1115 1122 i> write(104) -> 104:
1116 1123 i> hello\n
1117 1124 i> between\n
1118 1125 i> pairs 81\n
1119 1126 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1120 1127 i> flush() -> None
1121 1128 o> readline() -> 4:
1122 1129 o> 444\n
1123 1130 o> readline() -> 444:
1124 1131 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1125 1132 o> readline() -> 2:
1126 1133 o> 1\n
1127 1134 o> readline() -> 1:
1128 1135 o> \n
1129 1136 sending unbundle command
1130 1137 i> write(9) -> 9:
1131 1138 i> unbundle\n
1132 1139 i> write(9) -> 9:
1133 1140 i> heads 10\n
1134 1141 i> write(10) -> 10: 666f726365
1135 1142 i> flush() -> None
1136 1143 o> readline() -> 2:
1137 1144 o> 0\n
1138 1145 i> write(4) -> 4:
1139 1146 i> 426\n
1140 1147 i> write(426) -> 426:
1141 1148 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1142 1149 i> test\n
1143 1150 i> 0 0\n
1144 1151 i> foo\n
1145 1152 i> \n
1146 1153 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1147 1154 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1148 1155 i> \x00\x00\x00\x00\x00\x00\x00\x00
1149 1156 i> write(2) -> 2:
1150 1157 i> 0\n
1151 1158 i> flush() -> None
1152 1159 o> readline() -> 2:
1153 1160 o> 0\n
1154 1161 o> readline() -> 2:
1155 1162 o> 1\n
1156 1163 o> read(1) -> 1: 0
1157 1164 result: 0
1158 1165 remote output:
1159 1166 e> read(-1) -> 171:
1160 1167 e> adding changesets\n
1161 1168 e> adding manifests\n
1162 1169 e> adding file changes\n
1163 1170 e> stdout 1\n
1164 1171 e> stderr 1\n
1165 1172 e> stdout 2\n
1166 1173 e> stderr 2\n
1167 1174 e> transaction abort!\n
1168 1175 e> rollback completed\n
1169 1176 e> abort: pretxnchangegroup.fail hook failed\n
1170 1177
1171 1178 testing ssh2
1172 1179 creating ssh peer from handshake results
1173 1180 i> write(171) -> 171:
1174 1181 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1175 1182 i> hello\n
1176 1183 i> between\n
1177 1184 i> pairs 81\n
1178 1185 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1179 1186 i> flush() -> None
1180 1187 o> readline() -> 62:
1181 1188 o> upgraded * exp-ssh-v2-0003\n (glob)
1182 1189 o> readline() -> 4:
1183 1190 o> 443\n
1184 1191 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
1185 1192 o> read(1) -> 1:
1186 1193 o> \n
1187 1194 sending unbundle command
1188 1195 i> write(9) -> 9:
1189 1196 i> unbundle\n
1190 1197 i> write(9) -> 9:
1191 1198 i> heads 10\n
1192 1199 i> write(10) -> 10: 666f726365
1193 1200 i> flush() -> None
1194 1201 o> readline() -> 2:
1195 1202 o> 0\n
1196 1203 i> write(4) -> 4:
1197 1204 i> 426\n
1198 1205 i> write(426) -> 426:
1199 1206 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1200 1207 i> test\n
1201 1208 i> 0 0\n
1202 1209 i> foo\n
1203 1210 i> \n
1204 1211 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1205 1212 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1206 1213 i> \x00\x00\x00\x00\x00\x00\x00\x00
1207 1214 i> write(2) -> 2:
1208 1215 i> 0\n
1209 1216 i> flush() -> None
1210 1217 o> readline() -> 2:
1211 1218 o> 0\n
1212 1219 o> readline() -> 2:
1213 1220 o> 1\n
1214 1221 o> read(1) -> 1: 0
1215 1222 result: 0
1216 1223 remote output:
1217 1224 e> read(-1) -> 171:
1218 1225 e> adding changesets\n
1219 1226 e> adding manifests\n
1220 1227 e> adding file changes\n
1221 1228 e> stdout 1\n
1222 1229 e> stderr 1\n
1223 1230 e> stdout 2\n
1224 1231 e> stderr 2\n
1225 1232 e> transaction abort!\n
1226 1233 e> rollback completed\n
1227 1234 e> abort: pretxnchangegroup.fail hook failed\n
1228 1235
1229 1236 Shell hook writing to stdout has output captured
1230 1237
1231 1238 $ cat > $TESTTMP/hook.sh << EOF
1232 1239 > echo 'stdout 1'
1233 1240 > echo 'stdout 2'
1234 1241 > exit 1
1235 1242 > EOF
1236 1243
1237 1244 $ cat > .hg/hgrc << EOF
1238 1245 > [hooks]
1239 1246 > pretxnchangegroup.fail = sh $TESTTMP/hook.sh
1240 1247 > EOF
1241 1248
1242 1249 $ debugwireproto << EOF
1243 1250 > command unbundle
1244 1251 > # This is "force" in hex.
1245 1252 > heads 666f726365
1246 1253 > PUSHFILE ../initial.v1.hg
1247 1254 > readavailable
1248 1255 > EOF
1249 1256 testing ssh1
1250 1257 creating ssh peer from handshake results
1251 1258 i> write(104) -> 104:
1252 1259 i> hello\n
1253 1260 i> between\n
1254 1261 i> pairs 81\n
1255 1262 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1256 1263 i> flush() -> None
1257 1264 o> readline() -> 4:
1258 1265 o> 444\n
1259 1266 o> readline() -> 444:
1260 1267 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1261 1268 o> readline() -> 2:
1262 1269 o> 1\n
1263 1270 o> readline() -> 1:
1264 1271 o> \n
1265 1272 sending unbundle command
1266 1273 i> write(9) -> 9:
1267 1274 i> unbundle\n
1268 1275 i> write(9) -> 9:
1269 1276 i> heads 10\n
1270 1277 i> write(10) -> 10: 666f726365
1271 1278 i> flush() -> None
1272 1279 o> readline() -> 2:
1273 1280 o> 0\n
1274 1281 i> write(4) -> 4:
1275 1282 i> 426\n
1276 1283 i> write(426) -> 426:
1277 1284 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1278 1285 i> test\n
1279 1286 i> 0 0\n
1280 1287 i> foo\n
1281 1288 i> \n
1282 1289 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1283 1290 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1284 1291 i> \x00\x00\x00\x00\x00\x00\x00\x00
1285 1292 i> write(2) -> 2:
1286 1293 i> 0\n
1287 1294 i> flush() -> None
1288 1295 o> readline() -> 2:
1289 1296 o> 0\n
1290 1297 o> readline() -> 2:
1291 1298 o> 1\n
1292 1299 o> read(1) -> 1: 0
1293 1300 result: 0
1294 1301 remote output:
1295 1302 e> read(-1) -> 167:
1296 1303 e> adding changesets\n
1297 1304 e> adding manifests\n
1298 1305 e> adding file changes\n
1299 1306 e> stdout 1\n
1300 1307 e> stdout 2\n
1301 1308 e> transaction abort!\n
1302 1309 e> rollback completed\n
1303 1310 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1304 1311
1305 1312 testing ssh2
1306 1313 creating ssh peer from handshake results
1307 1314 i> write(171) -> 171:
1308 1315 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1309 1316 i> hello\n
1310 1317 i> between\n
1311 1318 i> pairs 81\n
1312 1319 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1313 1320 i> flush() -> None
1314 1321 o> readline() -> 62:
1315 1322 o> upgraded * exp-ssh-v2-0003\n (glob)
1316 1323 o> readline() -> 4:
1317 1324 o> 443\n
1318 1325 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
1319 1326 o> read(1) -> 1:
1320 1327 o> \n
1321 1328 sending unbundle command
1322 1329 i> write(9) -> 9:
1323 1330 i> unbundle\n
1324 1331 i> write(9) -> 9:
1325 1332 i> heads 10\n
1326 1333 i> write(10) -> 10: 666f726365
1327 1334 i> flush() -> None
1328 1335 o> readline() -> 2:
1329 1336 o> 0\n
1330 1337 i> write(4) -> 4:
1331 1338 i> 426\n
1332 1339 i> write(426) -> 426:
1333 1340 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1334 1341 i> test\n
1335 1342 i> 0 0\n
1336 1343 i> foo\n
1337 1344 i> \n
1338 1345 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1339 1346 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1340 1347 i> \x00\x00\x00\x00\x00\x00\x00\x00
1341 1348 i> write(2) -> 2:
1342 1349 i> 0\n
1343 1350 i> flush() -> None
1344 1351 o> readline() -> 2:
1345 1352 o> 0\n
1346 1353 o> readline() -> 2:
1347 1354 o> 1\n
1348 1355 o> read(1) -> 1: 0
1349 1356 result: 0
1350 1357 remote output:
1351 1358 e> read(-1) -> 167:
1352 1359 e> adding changesets\n
1353 1360 e> adding manifests\n
1354 1361 e> adding file changes\n
1355 1362 e> stdout 1\n
1356 1363 e> stdout 2\n
1357 1364 e> transaction abort!\n
1358 1365 e> rollback completed\n
1359 1366 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1360 1367
1361 1368 Shell hook writing to stderr has output captured
1362 1369
1363 1370 $ cat > $TESTTMP/hook.sh << EOF
1364 1371 > echo 'stderr 1' 1>&2
1365 1372 > echo 'stderr 2' 1>&2
1366 1373 > exit 1
1367 1374 > EOF
1368 1375
1369 1376 $ debugwireproto << EOF
1370 1377 > command unbundle
1371 1378 > # This is "force" in hex.
1372 1379 > heads 666f726365
1373 1380 > PUSHFILE ../initial.v1.hg
1374 1381 > readavailable
1375 1382 > EOF
1376 1383 testing ssh1
1377 1384 creating ssh peer from handshake results
1378 1385 i> write(104) -> 104:
1379 1386 i> hello\n
1380 1387 i> between\n
1381 1388 i> pairs 81\n
1382 1389 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1383 1390 i> flush() -> None
1384 1391 o> readline() -> 4:
1385 1392 o> 444\n
1386 1393 o> readline() -> 444:
1387 1394 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1388 1395 o> readline() -> 2:
1389 1396 o> 1\n
1390 1397 o> readline() -> 1:
1391 1398 o> \n
1392 1399 sending unbundle command
1393 1400 i> write(9) -> 9:
1394 1401 i> unbundle\n
1395 1402 i> write(9) -> 9:
1396 1403 i> heads 10\n
1397 1404 i> write(10) -> 10: 666f726365
1398 1405 i> flush() -> None
1399 1406 o> readline() -> 2:
1400 1407 o> 0\n
1401 1408 i> write(4) -> 4:
1402 1409 i> 426\n
1403 1410 i> write(426) -> 426:
1404 1411 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1405 1412 i> test\n
1406 1413 i> 0 0\n
1407 1414 i> foo\n
1408 1415 i> \n
1409 1416 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1410 1417 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1411 1418 i> \x00\x00\x00\x00\x00\x00\x00\x00
1412 1419 i> write(2) -> 2:
1413 1420 i> 0\n
1414 1421 i> flush() -> None
1415 1422 o> readline() -> 2:
1416 1423 o> 0\n
1417 1424 o> readline() -> 2:
1418 1425 o> 1\n
1419 1426 o> read(1) -> 1: 0
1420 1427 result: 0
1421 1428 remote output:
1422 1429 e> read(-1) -> 167:
1423 1430 e> adding changesets\n
1424 1431 e> adding manifests\n
1425 1432 e> adding file changes\n
1426 1433 e> stderr 1\n
1427 1434 e> stderr 2\n
1428 1435 e> transaction abort!\n
1429 1436 e> rollback completed\n
1430 1437 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1431 1438
1432 1439 testing ssh2
1433 1440 creating ssh peer from handshake results
1434 1441 i> write(171) -> 171:
1435 1442 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1436 1443 i> hello\n
1437 1444 i> between\n
1438 1445 i> pairs 81\n
1439 1446 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1440 1447 i> flush() -> None
1441 1448 o> readline() -> 62:
1442 1449 o> upgraded * exp-ssh-v2-0003\n (glob)
1443 1450 o> readline() -> 4:
1444 1451 o> 443\n
1445 1452 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
1446 1453 o> read(1) -> 1:
1447 1454 o> \n
1448 1455 sending unbundle command
1449 1456 i> write(9) -> 9:
1450 1457 i> unbundle\n
1451 1458 i> write(9) -> 9:
1452 1459 i> heads 10\n
1453 1460 i> write(10) -> 10: 666f726365
1454 1461 i> flush() -> None
1455 1462 o> readline() -> 2:
1456 1463 o> 0\n
1457 1464 i> write(4) -> 4:
1458 1465 i> 426\n
1459 1466 i> write(426) -> 426:
1460 1467 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1461 1468 i> test\n
1462 1469 i> 0 0\n
1463 1470 i> foo\n
1464 1471 i> \n
1465 1472 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1466 1473 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1467 1474 i> \x00\x00\x00\x00\x00\x00\x00\x00
1468 1475 i> write(2) -> 2:
1469 1476 i> 0\n
1470 1477 i> flush() -> None
1471 1478 o> readline() -> 2:
1472 1479 o> 0\n
1473 1480 o> readline() -> 2:
1474 1481 o> 1\n
1475 1482 o> read(1) -> 1: 0
1476 1483 result: 0
1477 1484 remote output:
1478 1485 e> read(-1) -> 167:
1479 1486 e> adding changesets\n
1480 1487 e> adding manifests\n
1481 1488 e> adding file changes\n
1482 1489 e> stderr 1\n
1483 1490 e> stderr 2\n
1484 1491 e> transaction abort!\n
1485 1492 e> rollback completed\n
1486 1493 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1487 1494
1488 1495 Shell hook writing to stdout and stderr has output captured
1489 1496
1490 1497 $ cat > $TESTTMP/hook.sh << EOF
1491 1498 > echo 'stdout 1'
1492 1499 > echo 'stderr 1' 1>&2
1493 1500 > echo 'stdout 2'
1494 1501 > echo 'stderr 2' 1>&2
1495 1502 > exit 1
1496 1503 > EOF
1497 1504
1498 1505 $ debugwireproto << EOF
1499 1506 > command unbundle
1500 1507 > # This is "force" in hex.
1501 1508 > heads 666f726365
1502 1509 > PUSHFILE ../initial.v1.hg
1503 1510 > readavailable
1504 1511 > EOF
1505 1512 testing ssh1
1506 1513 creating ssh peer from handshake results
1507 1514 i> write(104) -> 104:
1508 1515 i> hello\n
1509 1516 i> between\n
1510 1517 i> pairs 81\n
1511 1518 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1512 1519 i> flush() -> None
1513 1520 o> readline() -> 4:
1514 1521 o> 444\n
1515 1522 o> readline() -> 444:
1516 1523 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1517 1524 o> readline() -> 2:
1518 1525 o> 1\n
1519 1526 o> readline() -> 1:
1520 1527 o> \n
1521 1528 sending unbundle command
1522 1529 i> write(9) -> 9:
1523 1530 i> unbundle\n
1524 1531 i> write(9) -> 9:
1525 1532 i> heads 10\n
1526 1533 i> write(10) -> 10: 666f726365
1527 1534 i> flush() -> None
1528 1535 o> readline() -> 2:
1529 1536 o> 0\n
1530 1537 i> write(4) -> 4:
1531 1538 i> 426\n
1532 1539 i> write(426) -> 426:
1533 1540 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1534 1541 i> test\n
1535 1542 i> 0 0\n
1536 1543 i> foo\n
1537 1544 i> \n
1538 1545 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1539 1546 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1540 1547 i> \x00\x00\x00\x00\x00\x00\x00\x00
1541 1548 i> write(2) -> 2:
1542 1549 i> 0\n
1543 1550 i> flush() -> None
1544 1551 o> readline() -> 2:
1545 1552 o> 0\n
1546 1553 o> readline() -> 2:
1547 1554 o> 1\n
1548 1555 o> read(1) -> 1: 0
1549 1556 result: 0
1550 1557 remote output:
1551 1558 e> read(-1) -> 185:
1552 1559 e> adding changesets\n
1553 1560 e> adding manifests\n
1554 1561 e> adding file changes\n
1555 1562 e> stdout 1\n
1556 1563 e> stderr 1\n
1557 1564 e> stdout 2\n
1558 1565 e> stderr 2\n
1559 1566 e> transaction abort!\n
1560 1567 e> rollback completed\n
1561 1568 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1562 1569
1563 1570 testing ssh2
1564 1571 creating ssh peer from handshake results
1565 1572 i> write(171) -> 171:
1566 1573 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1567 1574 i> hello\n
1568 1575 i> between\n
1569 1576 i> pairs 81\n
1570 1577 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1571 1578 i> flush() -> None
1572 1579 o> readline() -> 62:
1573 1580 o> upgraded * exp-ssh-v2-0003\n (glob)
1574 1581 o> readline() -> 4:
1575 1582 o> 443\n
1576 1583 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
1577 1584 o> read(1) -> 1:
1578 1585 o> \n
1579 1586 sending unbundle command
1580 1587 i> write(9) -> 9:
1581 1588 i> unbundle\n
1582 1589 i> write(9) -> 9:
1583 1590 i> heads 10\n
1584 1591 i> write(10) -> 10: 666f726365
1585 1592 i> flush() -> None
1586 1593 o> readline() -> 2:
1587 1594 o> 0\n
1588 1595 i> write(4) -> 4:
1589 1596 i> 426\n
1590 1597 i> write(426) -> 426:
1591 1598 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1592 1599 i> test\n
1593 1600 i> 0 0\n
1594 1601 i> foo\n
1595 1602 i> \n
1596 1603 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1597 1604 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1598 1605 i> \x00\x00\x00\x00\x00\x00\x00\x00
1599 1606 i> write(2) -> 2:
1600 1607 i> 0\n
1601 1608 i> flush() -> None
1602 1609 o> readline() -> 2:
1603 1610 o> 0\n
1604 1611 o> readline() -> 2:
1605 1612 o> 1\n
1606 1613 o> read(1) -> 1: 0
1607 1614 result: 0
1608 1615 remote output:
1609 1616 e> read(-1) -> 185:
1610 1617 e> adding changesets\n
1611 1618 e> adding manifests\n
1612 1619 e> adding file changes\n
1613 1620 e> stdout 1\n
1614 1621 e> stderr 1\n
1615 1622 e> stdout 2\n
1616 1623 e> stderr 2\n
1617 1624 e> transaction abort!\n
1618 1625 e> rollback completed\n
1619 1626 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1620 1627
1621 1628 Shell and Python hooks writing to stdout and stderr have output captured
1622 1629
1623 1630 $ cat > $TESTTMP/hook.sh << EOF
1624 1631 > echo 'shell stdout 1'
1625 1632 > echo 'shell stderr 1' 1>&2
1626 1633 > echo 'shell stdout 2'
1627 1634 > echo 'shell stderr 2' 1>&2
1628 1635 > exit 0
1629 1636 > EOF
1630 1637
1631 1638 $ cat > .hg/hgrc << EOF
1632 1639 > [hooks]
1633 1640 > pretxnchangegroup.a = sh $TESTTMP/hook.sh
1634 1641 > pretxnchangegroup.b = python:$TESTTMP/failhook:hookprintstderrandstdout
1635 1642 > EOF
1636 1643
1637 1644 $ debugwireproto << EOF
1638 1645 > command unbundle
1639 1646 > # This is "force" in hex.
1640 1647 > heads 666f726365
1641 1648 > PUSHFILE ../initial.v1.hg
1642 1649 > readavailable
1643 1650 > EOF
1644 1651 testing ssh1
1645 1652 creating ssh peer from handshake results
1646 1653 i> write(104) -> 104:
1647 1654 i> hello\n
1648 1655 i> between\n
1649 1656 i> pairs 81\n
1650 1657 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1651 1658 i> flush() -> None
1652 1659 o> readline() -> 4:
1653 1660 o> 444\n
1654 1661 o> readline() -> 444:
1655 1662 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1656 1663 o> readline() -> 2:
1657 1664 o> 1\n
1658 1665 o> readline() -> 1:
1659 1666 o> \n
1660 1667 sending unbundle command
1661 1668 i> write(9) -> 9:
1662 1669 i> unbundle\n
1663 1670 i> write(9) -> 9:
1664 1671 i> heads 10\n
1665 1672 i> write(10) -> 10: 666f726365
1666 1673 i> flush() -> None
1667 1674 o> readline() -> 2:
1668 1675 o> 0\n
1669 1676 i> write(4) -> 4:
1670 1677 i> 426\n
1671 1678 i> write(426) -> 426:
1672 1679 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1673 1680 i> test\n
1674 1681 i> 0 0\n
1675 1682 i> foo\n
1676 1683 i> \n
1677 1684 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1678 1685 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1679 1686 i> \x00\x00\x00\x00\x00\x00\x00\x00
1680 1687 i> write(2) -> 2:
1681 1688 i> 0\n
1682 1689 i> flush() -> None
1683 1690 o> readline() -> 2:
1684 1691 o> 0\n
1685 1692 o> readline() -> 2:
1686 1693 o> 1\n
1687 1694 o> read(1) -> 1: 0
1688 1695 result: 0
1689 1696 remote output:
1690 1697 e> read(-1) -> 228:
1691 1698 e> adding changesets\n
1692 1699 e> adding manifests\n
1693 1700 e> adding file changes\n
1694 1701 e> shell stdout 1\n
1695 1702 e> shell stderr 1\n
1696 1703 e> shell stdout 2\n
1697 1704 e> shell stderr 2\n
1698 1705 e> stdout 1\n
1699 1706 e> stderr 1\n
1700 1707 e> stdout 2\n
1701 1708 e> stderr 2\n
1702 1709 e> transaction abort!\n
1703 1710 e> rollback completed\n
1704 1711 e> abort: pretxnchangegroup.b hook failed\n
1705 1712
1706 1713 testing ssh2
1707 1714 creating ssh peer from handshake results
1708 1715 i> write(171) -> 171:
1709 1716 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1710 1717 i> hello\n
1711 1718 i> between\n
1712 1719 i> pairs 81\n
1713 1720 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1714 1721 i> flush() -> None
1715 1722 o> readline() -> 62:
1716 1723 o> upgraded * exp-ssh-v2-0003\n (glob)
1717 1724 o> readline() -> 4:
1718 1725 o> 443\n
1719 1726 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
1720 1727 o> read(1) -> 1:
1721 1728 o> \n
1722 1729 sending unbundle command
1723 1730 i> write(9) -> 9:
1724 1731 i> unbundle\n
1725 1732 i> write(9) -> 9:
1726 1733 i> heads 10\n
1727 1734 i> write(10) -> 10: 666f726365
1728 1735 i> flush() -> None
1729 1736 o> readline() -> 2:
1730 1737 o> 0\n
1731 1738 i> write(4) -> 4:
1732 1739 i> 426\n
1733 1740 i> write(426) -> 426:
1734 1741 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1735 1742 i> test\n
1736 1743 i> 0 0\n
1737 1744 i> foo\n
1738 1745 i> \n
1739 1746 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1740 1747 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1741 1748 i> \x00\x00\x00\x00\x00\x00\x00\x00
1742 1749 i> write(2) -> 2:
1743 1750 i> 0\n
1744 1751 i> flush() -> None
1745 1752 o> readline() -> 2:
1746 1753 o> 0\n
1747 1754 o> readline() -> 2:
1748 1755 o> 1\n
1749 1756 o> read(1) -> 1: 0
1750 1757 result: 0
1751 1758 remote output:
1752 1759 e> read(-1) -> 228:
1753 1760 e> adding changesets\n
1754 1761 e> adding manifests\n
1755 1762 e> adding file changes\n
1756 1763 e> shell stdout 1\n
1757 1764 e> shell stderr 1\n
1758 1765 e> shell stdout 2\n
1759 1766 e> shell stderr 2\n
1760 1767 e> stdout 1\n
1761 1768 e> stderr 1\n
1762 1769 e> stdout 2\n
1763 1770 e> stderr 2\n
1764 1771 e> transaction abort!\n
1765 1772 e> rollback completed\n
1766 1773 e> abort: pretxnchangegroup.b hook failed\n
1767 1774
1768 1775 $ cd ..
1769 1776
1770 1777 Pushing a bundle1 with no output
1771 1778
1772 1779 $ hg init simplerepo
1773 1780 $ cd simplerepo
1774 1781
1775 1782 $ debugwireproto 1 << EOF
1776 1783 > command unbundle
1777 1784 > # This is "force" in hex.
1778 1785 > heads 666f726365
1779 1786 > PUSHFILE ../initial.v1.hg
1780 1787 > readavailable
1781 1788 > EOF
1782 1789 testing ssh1
1783 1790 creating ssh peer from handshake results
1784 1791 i> write(104) -> 104:
1785 1792 i> hello\n
1786 1793 i> between\n
1787 1794 i> pairs 81\n
1788 1795 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1789 1796 i> flush() -> None
1790 1797 o> readline() -> 4:
1791 1798 o> 444\n
1792 1799 o> readline() -> 444:
1793 1800 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1794 1801 o> readline() -> 2:
1795 1802 o> 1\n
1796 1803 o> readline() -> 1:
1797 1804 o> \n
1798 1805 sending unbundle command
1799 1806 i> write(9) -> 9:
1800 1807 i> unbundle\n
1801 1808 i> write(9) -> 9:
1802 1809 i> heads 10\n
1803 1810 i> write(10) -> 10: 666f726365
1804 1811 i> flush() -> None
1805 1812 o> readline() -> 2:
1806 1813 o> 0\n
1807 1814 i> write(4) -> 4:
1808 1815 i> 426\n
1809 1816 i> write(426) -> 426:
1810 1817 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1811 1818 i> test\n
1812 1819 i> 0 0\n
1813 1820 i> foo\n
1814 1821 i> \n
1815 1822 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1816 1823 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1817 1824 i> \x00\x00\x00\x00\x00\x00\x00\x00
1818 1825 i> write(2) -> 2:
1819 1826 i> 0\n
1820 1827 i> flush() -> None
1821 1828 o> readline() -> 2:
1822 1829 o> 0\n
1823 1830 o> readline() -> 2:
1824 1831 o> 1\n
1825 1832 o> read(1) -> 1: 1
1826 1833 result: 1
1827 1834 remote output:
1828 1835 e> read(-1) -> 100:
1829 1836 e> adding changesets\n
1830 1837 e> adding manifests\n
1831 1838 e> adding file changes\n
1832 1839 e> added 1 changesets with 1 changes to 1 files\n
1833 1840
1834 1841 testing ssh2
1835 1842 creating ssh peer from handshake results
1836 1843 i> write(171) -> 171:
1837 1844 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1838 1845 i> hello\n
1839 1846 i> between\n
1840 1847 i> pairs 81\n
1841 1848 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1842 1849 i> flush() -> None
1843 1850 o> readline() -> 62:
1844 1851 o> upgraded * exp-ssh-v2-0003\n (glob)
1845 1852 o> readline() -> 4:
1846 1853 o> 443\n
1847 1854 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
1848 1855 o> read(1) -> 1:
1849 1856 o> \n
1850 1857 sending unbundle command
1851 1858 i> write(9) -> 9:
1852 1859 i> unbundle\n
1853 1860 i> write(9) -> 9:
1854 1861 i> heads 10\n
1855 1862 i> write(10) -> 10: 666f726365
1856 1863 i> flush() -> None
1857 1864 o> readline() -> 2:
1858 1865 o> 0\n
1859 1866 i> write(4) -> 4:
1860 1867 i> 426\n
1861 1868 i> write(426) -> 426:
1862 1869 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1863 1870 i> test\n
1864 1871 i> 0 0\n
1865 1872 i> foo\n
1866 1873 i> \n
1867 1874 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1868 1875 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1869 1876 i> \x00\x00\x00\x00\x00\x00\x00\x00
1870 1877 i> write(2) -> 2:
1871 1878 i> 0\n
1872 1879 i> flush() -> None
1873 1880 o> readline() -> 2:
1874 1881 o> 0\n
1875 1882 o> readline() -> 2:
1876 1883 o> 1\n
1877 1884 o> read(1) -> 1: 1
1878 1885 result: 1
1879 1886 remote output:
1880 1887 e> read(-1) -> 100:
1881 1888 e> adding changesets\n
1882 1889 e> adding manifests\n
1883 1890 e> adding file changes\n
1884 1891 e> added 1 changesets with 1 changes to 1 files\n
1885 1892
1886 1893 $ cd ..
1887 1894
1888 1895 Pushing a bundle1 with ui.write() and ui.write_err()
1889 1896
1890 1897 $ cat > $TESTTMP/hook << EOF
1891 1898 > def hookuiwrite(ui, repo, **kwargs):
1892 1899 > ui.write(b'ui.write 1\n')
1893 1900 > ui.write_err(b'ui.write_err 1\n')
1894 1901 > ui.write(b'ui.write 2\n')
1895 1902 > ui.write_err(b'ui.write_err 2\n')
1896 1903 > EOF
1897 1904
1898 1905 $ hg init uiwriterepo
1899 1906 $ cd uiwriterepo
1900 1907 $ cat > .hg/hgrc << EOF
1901 1908 > [hooks]
1902 1909 > pretxnchangegroup.hook = python:$TESTTMP/hook:hookuiwrite
1903 1910 > EOF
1904 1911
1905 1912 $ debugwireproto 1 << EOF
1906 1913 > command unbundle
1907 1914 > # This is "force" in hex.
1908 1915 > heads 666f726365
1909 1916 > PUSHFILE ../initial.v1.hg
1910 1917 > readavailable
1911 1918 > EOF
1912 1919 testing ssh1
1913 1920 creating ssh peer from handshake results
1914 1921 i> write(104) -> 104:
1915 1922 i> hello\n
1916 1923 i> between\n
1917 1924 i> pairs 81\n
1918 1925 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1919 1926 i> flush() -> None
1920 1927 o> readline() -> 4:
1921 1928 o> 444\n
1922 1929 o> readline() -> 444:
1923 1930 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
1924 1931 o> readline() -> 2:
1925 1932 o> 1\n
1926 1933 o> readline() -> 1:
1927 1934 o> \n
1928 1935 sending unbundle command
1929 1936 i> write(9) -> 9:
1930 1937 i> unbundle\n
1931 1938 i> write(9) -> 9:
1932 1939 i> heads 10\n
1933 1940 i> write(10) -> 10: 666f726365
1934 1941 i> flush() -> None
1935 1942 o> readline() -> 2:
1936 1943 o> 0\n
1937 1944 i> write(4) -> 4:
1938 1945 i> 426\n
1939 1946 i> write(426) -> 426:
1940 1947 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1941 1948 i> test\n
1942 1949 i> 0 0\n
1943 1950 i> foo\n
1944 1951 i> \n
1945 1952 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
1946 1953 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
1947 1954 i> \x00\x00\x00\x00\x00\x00\x00\x00
1948 1955 i> write(2) -> 2:
1949 1956 i> 0\n
1950 1957 i> flush() -> None
1951 1958 o> readline() -> 2:
1952 1959 o> 0\n
1953 1960 o> readline() -> 2:
1954 1961 o> 1\n
1955 1962 o> read(1) -> 1: 1
1956 1963 result: 1
1957 1964 remote output:
1958 1965 e> read(-1) -> 152:
1959 1966 e> adding changesets\n
1960 1967 e> adding manifests\n
1961 1968 e> adding file changes\n
1962 1969 e> ui.write 1\n
1963 1970 e> ui.write_err 1\n
1964 1971 e> ui.write 2\n
1965 1972 e> ui.write_err 2\n
1966 1973 e> added 1 changesets with 1 changes to 1 files\n
1967 1974
1968 1975 testing ssh2
1969 1976 creating ssh peer from handshake results
1970 1977 i> write(171) -> 171:
1971 1978 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1972 1979 i> hello\n
1973 1980 i> between\n
1974 1981 i> pairs 81\n
1975 1982 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1976 1983 i> flush() -> None
1977 1984 o> readline() -> 62:
1978 1985 o> upgraded * exp-ssh-v2-0003\n (glob)
1979 1986 o> readline() -> 4:
1980 1987 o> 443\n
1981 1988 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
1982 1989 o> read(1) -> 1:
1983 1990 o> \n
1984 1991 sending unbundle command
1985 1992 i> write(9) -> 9:
1986 1993 i> unbundle\n
1987 1994 i> write(9) -> 9:
1988 1995 i> heads 10\n
1989 1996 i> write(10) -> 10: 666f726365
1990 1997 i> flush() -> None
1991 1998 o> readline() -> 2:
1992 1999 o> 0\n
1993 2000 i> write(4) -> 4:
1994 2001 i> 426\n
1995 2002 i> write(426) -> 426:
1996 2003 i> HG10UN\x00\x00\x00\x9eh\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>cba485ca3678256e044428f70f58291196f6e9de\n
1997 2004 i> test\n
1998 2005 i> 0 0\n
1999 2006 i> foo\n
2000 2007 i> \n
2001 2008 i> initial\x00\x00\x00\x00\x00\x00\x00\x8d\xcb\xa4\x85\xca6x%n\x04D(\xf7\x0fX)\x11\x96\xf6\xe9\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-foo\x00362fef284ce2ca02aecc8de6d5e8a1c3af0556fe\n
2002 2009 i> \x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00b6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x98b\x13\xbdD\x85\xeaQS55\xe3\xfc\x9ex\x00zq\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x020\n
2003 2010 i> \x00\x00\x00\x00\x00\x00\x00\x00
2004 2011 i> write(2) -> 2:
2005 2012 i> 0\n
2006 2013 i> flush() -> None
2007 2014 o> readline() -> 2:
2008 2015 o> 0\n
2009 2016 o> readline() -> 2:
2010 2017 o> 1\n
2011 2018 o> read(1) -> 1: 1
2012 2019 result: 1
2013 2020 remote output:
2014 2021 e> read(-1) -> 152:
2015 2022 e> adding changesets\n
2016 2023 e> adding manifests\n
2017 2024 e> adding file changes\n
2018 2025 e> ui.write 1\n
2019 2026 e> ui.write_err 1\n
2020 2027 e> ui.write 2\n
2021 2028 e> ui.write_err 2\n
2022 2029 e> added 1 changesets with 1 changes to 1 files\n
General Comments 0
You need to be logged in to leave comments. Login now