comparison tests/test-ssh-proto-unbundle.t @ 48561:04688c51f81f

exchangev2: remove it As discussed on the mailing list, this is incomplete and unused with little hope of revival. Differential Revision: https://phab.mercurial-scm.org/D11954
author Rapha?l Gom?s <rgomes@octobus.net>
date Tue, 07 Dec 2021 16:44:22 +0100
parents 8bf21b3869cd
children 77f8f8caf859
comparison
equal deleted inserted replaced
48560:d6c53b40b078 48561:04688c51f81f
1 persistent-nodemap is not enabled by default. It is not relevant for this test so disable it. 1 persistent-nodemap is not enabled by default. It is not relevant for this test so disable it.
2 2
3 $ cat << EOF >> $HGRCPATH 3 $ cat << EOF >> $HGRCPATH
4 > [format] 4 > [format]
5 > use-persistent-nodemap = no 5 > use-persistent-nodemap = no
6 > EOF
7
8 $ cat > hgrc-sshv2 << EOF
9 > %include $HGRCPATH
10 > [experimental]
11 > sshpeer.advertise-v2 = true
12 > sshserver.support-v2 = true
13 > EOF 6 > EOF
14 7
15 $ debugwireproto() { 8 $ debugwireproto() {
16 > commands=`cat -` 9 > commands=`cat -`
17 > echo 'testing ssh1' 10 > echo 'testing ssh1'
18 > tip=`hg log -r tip -T '{node}'` 11 > tip=`hg log -r tip -T '{node}'`
19 > echo "${commands}" | hg --verbose debugwireproto --localssh --noreadstderr 12 > echo "${commands}" | hg --verbose debugwireproto --localssh --noreadstderr
20 > if [ -n "$1" ]; then 13 > if [ -n "$1" ]; then
21 > hg --config extensions.strip= strip --no-backup -r "all() - ::${tip}" 14 > hg --config extensions.strip= strip --no-backup -r "all() - ::${tip}"
22 > fi 15 > fi
23 > echo ""
24 > echo 'testing ssh2'
25 > echo "${commands}" | HGRCPATH=$TESTTMP/hgrc-sshv2 hg --verbose debugwireproto --localssh --noreadstderr
26 > if [ -n "$1" ]; then
27 > hg --config extensions.strip= strip --no-backup -r "all() - ::${tip}"
28 > fi
29 > } 16 > }
30 17
31 Generate some bundle files 18 Generate some bundle files
32 19
33 $ hg init repo 20 $ hg init repo
67 o> readline() -> 444: 54 o> readline() -> 444:
68 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n 55 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
69 o> readline() -> 2: 56 o> readline() -> 2:
70 o> 1\n 57 o> 1\n
71 o> readline() -> 1: 58 o> readline() -> 1:
72 o> \n
73 sending unbundle command
74 i> write(9) -> 9:
75 i> unbundle\n
76 i> write(9) -> 9:
77 i> heads 10\n
78 i> write(10) -> 10: 666f726365
79 i> flush() -> None
80 o> readline() -> 2:
81 o> 0\n
82 i> write(4) -> 4:
83 i> 426\n
84 i> write(426) -> 426:
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
86 i> test\n
87 i> 0 0\n
88 i> foo\n
89 i> \n
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
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
92 i> \x00\x00\x00\x00\x00\x00\x00\x00
93 i> write(2) -> 2:
94 i> 0\n
95 i> flush() -> None
96 o> readline() -> 2:
97 o> 0\n
98 o> readline() -> 2:
99 o> 1\n
100 o> read(1) -> 1: 0
101 result: 0
102 remote output:
103 e> read(-1) -> 115:
104 e> abort: incompatible Mercurial client; bundle2 required\n
105 e> (see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n
106
107 testing ssh2
108 creating ssh peer from handshake results
109 i> write(171) -> 171:
110 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
111 i> hello\n
112 i> between\n
113 i> pairs 81\n
114 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
115 i> flush() -> None
116 o> readline() -> 62:
117 o> upgraded * exp-ssh-v2-0003\n (glob)
118 o> readline() -> 4:
119 o> 443\n
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
121 o> read(1) -> 1:
122 o> \n 59 o> \n
123 sending unbundle command 60 sending unbundle command
124 i> write(9) -> 9: 61 i> write(9) -> 9:
125 i> unbundle\n 62 i> unbundle\n
126 i> write(9) -> 9: 63 i> write(9) -> 9:
285 e> adding file changes\n 222 e> adding file changes\n
286 e> ui.write 1 line\n 223 e> ui.write 1 line\n
287 e> transaction abort!\n 224 e> transaction abort!\n
288 e> rollback completed\n 225 e> rollback completed\n
289 e> abort: pretxnchangegroup.fail hook failed\n 226 e> abort: pretxnchangegroup.fail hook failed\n
290
291 testing ssh2
292 creating ssh peer from handshake results
293 i> write(171) -> 171:
294 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
295 i> hello\n
296 i> between\n
297 i> pairs 81\n
298 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
299 i> flush() -> None
300 o> readline() -> 62:
301 o> upgraded * exp-ssh-v2-0003\n (glob)
302 o> readline() -> 4:
303 o> 443\n
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
305 o> read(1) -> 1:
306 o> \n
307 sending unbundle command
308 i> write(9) -> 9:
309 i> unbundle\n
310 i> write(9) -> 9:
311 i> heads 10\n
312 i> write(10) -> 10: 666f726365
313 i> flush() -> None
314 o> readline() -> 2:
315 o> 0\n
316 i> write(4) -> 4:
317 i> 426\n
318 i> write(426) -> 426:
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
320 i> test\n
321 i> 0 0\n
322 i> foo\n
323 i> \n
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
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
326 i> \x00\x00\x00\x00\x00\x00\x00\x00
327 i> write(2) -> 2:
328 i> 0\n
329 i> flush() -> None
330 o> readline() -> 2:
331 o> 0\n
332 o> readline() -> 2:
333 o> 1\n
334 o> read(1) -> 1: 0
335 result: 0
336 remote output:
337 e> read(-1) -> 151:
338 e> adding changesets\n
339 e> adding manifests\n
340 e> adding file changes\n
341 e> ui.write 1 line\n
342 e> transaction abort!\n
343 e> rollback completed\n
344 e> abort: pretxnchangegroup.fail hook failed\n
345 227
346 And a variation that writes multiple lines using ui.write 228 And a variation that writes multiple lines using ui.write
347 229
348 $ cat > .hg/hgrc << EOF 230 $ cat > .hg/hgrc << EOF
349 > [hooks] 231 > [hooks]
410 e> ui.write 2 lines 1\n 292 e> ui.write 2 lines 1\n
411 e> ui.write 2 lines 2\n 293 e> ui.write 2 lines 2\n
412 e> transaction abort!\n 294 e> transaction abort!\n
413 e> rollback completed\n 295 e> rollback completed\n
414 e> abort: pretxnchangegroup.fail hook failed\n 296 e> abort: pretxnchangegroup.fail hook failed\n
415
416 testing ssh2
417 creating ssh peer from handshake results
418 i> write(171) -> 171:
419 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
420 i> hello\n
421 i> between\n
422 i> pairs 81\n
423 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
424 i> flush() -> None
425 o> readline() -> 62:
426 o> upgraded * exp-ssh-v2-0003\n (glob)
427 o> readline() -> 4:
428 o> 443\n
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
430 o> read(1) -> 1:
431 o> \n
432 sending unbundle command
433 i> write(9) -> 9:
434 i> unbundle\n
435 i> write(9) -> 9:
436 i> heads 10\n
437 i> write(10) -> 10: 666f726365
438 i> flush() -> None
439 o> readline() -> 2:
440 o> 0\n
441 i> write(4) -> 4:
442 i> 426\n
443 i> write(426) -> 426:
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
445 i> test\n
446 i> 0 0\n
447 i> foo\n
448 i> \n
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
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
451 i> \x00\x00\x00\x00\x00\x00\x00\x00
452 i> write(2) -> 2:
453 i> 0\n
454 i> flush() -> None
455 o> readline() -> 2:
456 o> 0\n
457 o> readline() -> 2:
458 o> 1\n
459 o> read(1) -> 1: 0
460 result: 0
461 remote output:
462 e> read(-1) -> 173:
463 e> adding changesets\n
464 e> adding manifests\n
465 e> adding file changes\n
466 e> ui.write 2 lines 1\n
467 e> ui.write 2 lines 2\n
468 e> transaction abort!\n
469 e> rollback completed\n
470 e> abort: pretxnchangegroup.fail hook failed\n
471 297
472 And a variation that does a ui.flush() after writing output 298 And a variation that does a ui.flush() after writing output
473 299
474 $ cat > .hg/hgrc << EOF 300 $ cat > .hg/hgrc << EOF
475 > [hooks] 301 > [hooks]
535 e> adding file changes\n 361 e> adding file changes\n
536 e> ui.write 1 line flush\n 362 e> ui.write 1 line flush\n
537 e> transaction abort!\n 363 e> transaction abort!\n
538 e> rollback completed\n 364 e> rollback completed\n
539 e> abort: pretxnchangegroup.fail hook failed\n 365 e> abort: pretxnchangegroup.fail hook failed\n
540
541 testing ssh2
542 creating ssh peer from handshake results
543 i> write(171) -> 171:
544 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
545 i> hello\n
546 i> between\n
547 i> pairs 81\n
548 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
549 i> flush() -> None
550 o> readline() -> 62:
551 o> upgraded * exp-ssh-v2-0003\n (glob)
552 o> readline() -> 4:
553 o> 443\n
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
555 o> read(1) -> 1:
556 o> \n
557 sending unbundle command
558 i> write(9) -> 9:
559 i> unbundle\n
560 i> write(9) -> 9:
561 i> heads 10\n
562 i> write(10) -> 10: 666f726365
563 i> flush() -> None
564 o> readline() -> 2:
565 o> 0\n
566 i> write(4) -> 4:
567 i> 426\n
568 i> write(426) -> 426:
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
570 i> test\n
571 i> 0 0\n
572 i> foo\n
573 i> \n
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
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
576 i> \x00\x00\x00\x00\x00\x00\x00\x00
577 i> write(2) -> 2:
578 i> 0\n
579 i> flush() -> None
580 o> readline() -> 2:
581 o> 0\n
582 o> readline() -> 2:
583 o> 1\n
584 o> read(1) -> 1: 0
585 result: 0
586 remote output:
587 e> read(-1) -> 157:
588 e> adding changesets\n
589 e> adding manifests\n
590 e> adding file changes\n
591 e> ui.write 1 line flush\n
592 e> transaction abort!\n
593 e> rollback completed\n
594 e> abort: pretxnchangegroup.fail hook failed\n
595 366
596 Multiple writes + flush 367 Multiple writes + flush
597 368
598 $ cat > .hg/hgrc << EOF 369 $ cat > .hg/hgrc << EOF
599 > [hooks] 370 > [hooks]
620 o> readline() -> 444: 391 o> readline() -> 444:
621 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n 392 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
622 o> readline() -> 2: 393 o> readline() -> 2:
623 o> 1\n 394 o> 1\n
624 o> readline() -> 1: 395 o> readline() -> 1:
625 o> \n
626 sending unbundle command
627 i> write(9) -> 9:
628 i> unbundle\n
629 i> write(9) -> 9:
630 i> heads 10\n
631 i> write(10) -> 10: 666f726365
632 i> flush() -> None
633 o> readline() -> 2:
634 o> 0\n
635 i> write(4) -> 4:
636 i> 426\n
637 i> write(426) -> 426:
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
639 i> test\n
640 i> 0 0\n
641 i> foo\n
642 i> \n
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
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
645 i> \x00\x00\x00\x00\x00\x00\x00\x00
646 i> write(2) -> 2:
647 i> 0\n
648 i> flush() -> None
649 o> readline() -> 2:
650 o> 0\n
651 o> readline() -> 2:
652 o> 1\n
653 o> read(1) -> 1: 0
654 result: 0
655 remote output:
656 e> read(-1) -> 161:
657 e> adding changesets\n
658 e> adding manifests\n
659 e> adding file changes\n
660 e> ui.write 1st\n
661 e> ui.write 2nd\n
662 e> transaction abort!\n
663 e> rollback completed\n
664 e> abort: pretxnchangegroup.fail hook failed\n
665
666 testing ssh2
667 creating ssh peer from handshake results
668 i> write(171) -> 171:
669 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
670 i> hello\n
671 i> between\n
672 i> pairs 81\n
673 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
674 i> flush() -> None
675 o> readline() -> 62:
676 o> upgraded * exp-ssh-v2-0003\n (glob)
677 o> readline() -> 4:
678 o> 443\n
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
680 o> read(1) -> 1:
681 o> \n 396 o> \n
682 sending unbundle command 397 sending unbundle command
683 i> write(9) -> 9: 398 i> write(9) -> 9:
684 i> unbundle\n 399 i> unbundle\n
685 i> write(9) -> 9: 400 i> write(9) -> 9:
788 e> ui.write 2\n 503 e> ui.write 2\n
789 e> ui.write_err 2\n 504 e> ui.write_err 2\n
790 e> transaction abort!\n 505 e> transaction abort!\n
791 e> rollback completed\n 506 e> rollback completed\n
792 e> abort: pretxnchangegroup.fail hook failed\n 507 e> abort: pretxnchangegroup.fail hook failed\n
793 508
794 testing ssh2
795 creating ssh peer from handshake results
796 i> write(171) -> 171:
797 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
798 i> hello\n
799 i> between\n
800 i> pairs 81\n
801 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
802 i> flush() -> None
803 o> readline() -> 62:
804 o> upgraded * exp-ssh-v2-0003\n (glob)
805 o> readline() -> 4:
806 o> 443\n
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
808 o> read(1) -> 1:
809 o> \n
810 sending unbundle command
811 i> write(9) -> 9:
812 i> unbundle\n
813 i> write(9) -> 9:
814 i> heads 10\n
815 i> write(10) -> 10: 666f726365
816 i> flush() -> None
817 o> readline() -> 2:
818 o> 0\n
819 i> write(4) -> 4:
820 i> 426\n
821 i> write(426) -> 426:
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
823 i> test\n
824 i> 0 0\n
825 i> foo\n
826 i> \n
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
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
829 i> \x00\x00\x00\x00\x00\x00\x00\x00
830 i> write(2) -> 2:
831 i> 0\n
832 i> flush() -> None
833 o> readline() -> 2:
834 o> 0\n
835 o> readline() -> 2:
836 o> 1\n
837 o> read(1) -> 1: 0
838 result: 0
839 remote output:
840 e> read(-1) -> 187:
841 e> adding changesets\n
842 e> adding manifests\n
843 e> adding file changes\n
844 e> ui.write 1\n
845 e> ui.write_err 1\n
846 e> ui.write 2\n
847 e> ui.write_err 2\n
848 e> transaction abort!\n
849 e> rollback completed\n
850 e> abort: pretxnchangegroup.fail hook failed\n
851 509
852 print() output is captured 510 print() output is captured
853 511
854 $ cat > .hg/hgrc << EOF 512 $ cat > .hg/hgrc << EOF
855 > [hooks] 513 > [hooks]
876 o> readline() -> 444: 534 o> readline() -> 444:
877 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n 535 o> capabilities: batch branchmap $USUAL_BUNDLE2_CAPS$ changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1,sparserevlog unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash\n
878 o> readline() -> 2: 536 o> readline() -> 2:
879 o> 1\n 537 o> 1\n
880 o> readline() -> 1: 538 o> readline() -> 1:
881 o> \n
882 sending unbundle command
883 i> write(9) -> 9:
884 i> unbundle\n
885 i> write(9) -> 9:
886 i> heads 10\n
887 i> write(10) -> 10: 666f726365
888 i> flush() -> None
889 o> readline() -> 2:
890 o> 0\n
891 i> write(4) -> 4:
892 i> 426\n
893 i> write(426) -> 426:
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
895 i> test\n
896 i> 0 0\n
897 i> foo\n
898 i> \n
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
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
901 i> \x00\x00\x00\x00\x00\x00\x00\x00
902 i> write(2) -> 2:
903 i> 0\n
904 i> flush() -> None
905 o> readline() -> 2:
906 o> 0\n
907 o> readline() -> 2:
908 o> 1\n
909 o> read(1) -> 1: 0
910 result: 0
911 remote output:
912 e> read(-1) -> 148:
913 e> adding changesets\n
914 e> adding manifests\n
915 e> adding file changes\n
916 e> printed line\n
917 e> transaction abort!\n
918 e> rollback completed\n
919 e> abort: pretxnchangegroup.fail hook failed\n
920
921 testing ssh2
922 creating ssh peer from handshake results
923 i> write(171) -> 171:
924 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
925 i> hello\n
926 i> between\n
927 i> pairs 81\n
928 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
929 i> flush() -> None
930 o> readline() -> 62:
931 o> upgraded * exp-ssh-v2-0003\n (glob)
932 o> readline() -> 4:
933 o> 443\n
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
935 o> read(1) -> 1:
936 o> \n 539 o> \n
937 sending unbundle command 540 sending unbundle command
938 i> write(9) -> 9: 541 i> write(9) -> 9:
939 i> unbundle\n 542 i> unbundle\n
940 i> write(9) -> 9: 543 i> write(9) -> 9:
1042 e> print 2\n 645 e> print 2\n
1043 e> ui.write 2\n 646 e> ui.write 2\n
1044 e> transaction abort!\n 647 e> transaction abort!\n
1045 e> rollback completed\n 648 e> rollback completed\n
1046 e> abort: pretxnchangegroup.fail hook failed\n 649 e> abort: pretxnchangegroup.fail hook failed\n
1047
1048 testing ssh2
1049 creating ssh peer from handshake results
1050 i> write(171) -> 171:
1051 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1052 i> hello\n
1053 i> between\n
1054 i> pairs 81\n
1055 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1056 i> flush() -> None
1057 o> readline() -> 62:
1058 o> upgraded * exp-ssh-v2-0003\n (glob)
1059 o> readline() -> 4:
1060 o> 443\n
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
1062 o> read(1) -> 1:
1063 o> \n
1064 sending unbundle command
1065 i> write(9) -> 9:
1066 i> unbundle\n
1067 i> write(9) -> 9:
1068 i> heads 10\n
1069 i> write(10) -> 10: 666f726365
1070 i> flush() -> None
1071 o> readline() -> 2:
1072 o> 0\n
1073 i> write(4) -> 4:
1074 i> 426\n
1075 i> write(426) -> 426:
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
1077 i> test\n
1078 i> 0 0\n
1079 i> foo\n
1080 i> \n
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
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
1083 i> \x00\x00\x00\x00\x00\x00\x00\x00
1084 i> write(2) -> 2:
1085 i> 0\n
1086 i> flush() -> None
1087 o> readline() -> 2:
1088 o> 0\n
1089 o> readline() -> 2:
1090 o> 1\n
1091 o> read(1) -> 1: 0
1092 result: 0
1093 remote output:
1094 e> read(-1) -> 173:
1095 e> adding changesets\n
1096 e> adding manifests\n
1097 e> adding file changes\n
1098 e> print 1\n
1099 e> ui.write 1\n
1100 e> print 2\n
1101 e> ui.write 2\n
1102 e> transaction abort!\n
1103 e> rollback completed\n
1104 e> abort: pretxnchangegroup.fail hook failed\n
1105 650
1106 print() to stdout and stderr both get captured 651 print() to stdout and stderr both get captured
1107 652
1108 $ cat > .hg/hgrc << EOF 653 $ cat > .hg/hgrc << EOF
1109 > [hooks] 654 > [hooks]
1172 e> stdout 2\n 717 e> stdout 2\n
1173 e> stderr 2\n 718 e> stderr 2\n
1174 e> transaction abort!\n 719 e> transaction abort!\n
1175 e> rollback completed\n 720 e> rollback completed\n
1176 e> abort: pretxnchangegroup.fail hook failed\n 721 e> abort: pretxnchangegroup.fail hook failed\n
1177
1178 testing ssh2
1179 creating ssh peer from handshake results
1180 i> write(171) -> 171:
1181 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1182 i> hello\n
1183 i> between\n
1184 i> pairs 81\n
1185 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1186 i> flush() -> None
1187 o> readline() -> 62:
1188 o> upgraded * exp-ssh-v2-0003\n (glob)
1189 o> readline() -> 4:
1190 o> 443\n
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
1192 o> read(1) -> 1:
1193 o> \n
1194 sending unbundle command
1195 i> write(9) -> 9:
1196 i> unbundle\n
1197 i> write(9) -> 9:
1198 i> heads 10\n
1199 i> write(10) -> 10: 666f726365
1200 i> flush() -> None
1201 o> readline() -> 2:
1202 o> 0\n
1203 i> write(4) -> 4:
1204 i> 426\n
1205 i> write(426) -> 426:
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
1207 i> test\n
1208 i> 0 0\n
1209 i> foo\n
1210 i> \n
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
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
1213 i> \x00\x00\x00\x00\x00\x00\x00\x00
1214 i> write(2) -> 2:
1215 i> 0\n
1216 i> flush() -> None
1217 o> readline() -> 2:
1218 o> 0\n
1219 o> readline() -> 2:
1220 o> 1\n
1221 o> read(1) -> 1: 0
1222 result: 0
1223 remote output:
1224 e> read(-1) -> 171:
1225 e> adding changesets\n
1226 e> adding manifests\n
1227 e> adding file changes\n
1228 e> stdout 1\n
1229 e> stderr 1\n
1230 e> stdout 2\n
1231 e> stderr 2\n
1232 e> transaction abort!\n
1233 e> rollback completed\n
1234 e> abort: pretxnchangegroup.fail hook failed\n
1235 722
1236 Shell hook writing to stdout has output captured 723 Shell hook writing to stdout has output captured
1237 724
1238 $ cat > $TESTTMP/hook.sh << EOF 725 $ cat > $TESTTMP/hook.sh << EOF
1239 > echo 'stdout 1' 726 > echo 'stdout 1'
1306 e> stdout 1\n 793 e> stdout 1\n
1307 e> stdout 2\n 794 e> stdout 2\n
1308 e> transaction abort!\n 795 e> transaction abort!\n
1309 e> rollback completed\n 796 e> rollback completed\n
1310 e> abort: pretxnchangegroup.fail hook exited with status 1\n 797 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1311
1312 testing ssh2
1313 creating ssh peer from handshake results
1314 i> write(171) -> 171:
1315 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1316 i> hello\n
1317 i> between\n
1318 i> pairs 81\n
1319 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1320 i> flush() -> None
1321 o> readline() -> 62:
1322 o> upgraded * exp-ssh-v2-0003\n (glob)
1323 o> readline() -> 4:
1324 o> 443\n
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
1326 o> read(1) -> 1:
1327 o> \n
1328 sending unbundle command
1329 i> write(9) -> 9:
1330 i> unbundle\n
1331 i> write(9) -> 9:
1332 i> heads 10\n
1333 i> write(10) -> 10: 666f726365
1334 i> flush() -> None
1335 o> readline() -> 2:
1336 o> 0\n
1337 i> write(4) -> 4:
1338 i> 426\n
1339 i> write(426) -> 426:
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
1341 i> test\n
1342 i> 0 0\n
1343 i> foo\n
1344 i> \n
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
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
1347 i> \x00\x00\x00\x00\x00\x00\x00\x00
1348 i> write(2) -> 2:
1349 i> 0\n
1350 i> flush() -> None
1351 o> readline() -> 2:
1352 o> 0\n
1353 o> readline() -> 2:
1354 o> 1\n
1355 o> read(1) -> 1: 0
1356 result: 0
1357 remote output:
1358 e> read(-1) -> 167:
1359 e> adding changesets\n
1360 e> adding manifests\n
1361 e> adding file changes\n
1362 e> stdout 1\n
1363 e> stdout 2\n
1364 e> transaction abort!\n
1365 e> rollback completed\n
1366 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1367
1368 Shell hook writing to stderr has output captured 798 Shell hook writing to stderr has output captured
1369 799
1370 $ cat > $TESTTMP/hook.sh << EOF 800 $ cat > $TESTTMP/hook.sh << EOF
1371 > echo 'stderr 1' 1>&2 801 > echo 'stderr 1' 1>&2
1372 > echo 'stderr 2' 1>&2 802 > echo 'stderr 2' 1>&2
1433 e> stderr 1\n 863 e> stderr 1\n
1434 e> stderr 2\n 864 e> stderr 2\n
1435 e> transaction abort!\n 865 e> transaction abort!\n
1436 e> rollback completed\n 866 e> rollback completed\n
1437 e> abort: pretxnchangegroup.fail hook exited with status 1\n 867 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1438
1439 testing ssh2
1440 creating ssh peer from handshake results
1441 i> write(171) -> 171:
1442 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1443 i> hello\n
1444 i> between\n
1445 i> pairs 81\n
1446 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1447 i> flush() -> None
1448 o> readline() -> 62:
1449 o> upgraded * exp-ssh-v2-0003\n (glob)
1450 o> readline() -> 4:
1451 o> 443\n
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
1453 o> read(1) -> 1:
1454 o> \n
1455 sending unbundle command
1456 i> write(9) -> 9:
1457 i> unbundle\n
1458 i> write(9) -> 9:
1459 i> heads 10\n
1460 i> write(10) -> 10: 666f726365
1461 i> flush() -> None
1462 o> readline() -> 2:
1463 o> 0\n
1464 i> write(4) -> 4:
1465 i> 426\n
1466 i> write(426) -> 426:
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
1468 i> test\n
1469 i> 0 0\n
1470 i> foo\n
1471 i> \n
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
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
1474 i> \x00\x00\x00\x00\x00\x00\x00\x00
1475 i> write(2) -> 2:
1476 i> 0\n
1477 i> flush() -> None
1478 o> readline() -> 2:
1479 o> 0\n
1480 o> readline() -> 2:
1481 o> 1\n
1482 o> read(1) -> 1: 0
1483 result: 0
1484 remote output:
1485 e> read(-1) -> 167:
1486 e> adding changesets\n
1487 e> adding manifests\n
1488 e> adding file changes\n
1489 e> stderr 1\n
1490 e> stderr 2\n
1491 e> transaction abort!\n
1492 e> rollback completed\n
1493 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1494
1495 Shell hook writing to stdout and stderr has output captured 868 Shell hook writing to stdout and stderr has output captured
1496 869
1497 $ cat > $TESTTMP/hook.sh << EOF 870 $ cat > $TESTTMP/hook.sh << EOF
1498 > echo 'stdout 1' 871 > echo 'stdout 1'
1499 > echo 'stderr 1' 1>&2 872 > echo 'stderr 1' 1>&2
1564 e> stdout 2\n 937 e> stdout 2\n
1565 e> stderr 2\n 938 e> stderr 2\n
1566 e> transaction abort!\n 939 e> transaction abort!\n
1567 e> rollback completed\n 940 e> rollback completed\n
1568 e> abort: pretxnchangegroup.fail hook exited with status 1\n 941 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1569
1570 testing ssh2
1571 creating ssh peer from handshake results
1572 i> write(171) -> 171:
1573 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1574 i> hello\n
1575 i> between\n
1576 i> pairs 81\n
1577 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1578 i> flush() -> None
1579 o> readline() -> 62:
1580 o> upgraded * exp-ssh-v2-0003\n (glob)
1581 o> readline() -> 4:
1582 o> 443\n
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
1584 o> read(1) -> 1:
1585 o> \n
1586 sending unbundle command
1587 i> write(9) -> 9:
1588 i> unbundle\n
1589 i> write(9) -> 9:
1590 i> heads 10\n
1591 i> write(10) -> 10: 666f726365
1592 i> flush() -> None
1593 o> readline() -> 2:
1594 o> 0\n
1595 i> write(4) -> 4:
1596 i> 426\n
1597 i> write(426) -> 426:
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
1599 i> test\n
1600 i> 0 0\n
1601 i> foo\n
1602 i> \n
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
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
1605 i> \x00\x00\x00\x00\x00\x00\x00\x00
1606 i> write(2) -> 2:
1607 i> 0\n
1608 i> flush() -> None
1609 o> readline() -> 2:
1610 o> 0\n
1611 o> readline() -> 2:
1612 o> 1\n
1613 o> read(1) -> 1: 0
1614 result: 0
1615 remote output:
1616 e> read(-1) -> 185:
1617 e> adding changesets\n
1618 e> adding manifests\n
1619 e> adding file changes\n
1620 e> stdout 1\n
1621 e> stderr 1\n
1622 e> stdout 2\n
1623 e> stderr 2\n
1624 e> transaction abort!\n
1625 e> rollback completed\n
1626 e> abort: pretxnchangegroup.fail hook exited with status 1\n
1627
1628 Shell and Python hooks writing to stdout and stderr have output captured 942 Shell and Python hooks writing to stdout and stderr have output captured
1629 943
1630 $ cat > $TESTTMP/hook.sh << EOF 944 $ cat > $TESTTMP/hook.sh << EOF
1631 > echo 'shell stdout 1' 945 > echo 'shell stdout 1'
1632 > echo 'shell stderr 1' 1>&2 946 > echo 'shell stderr 1' 1>&2
1707 e> stdout 2\n 1021 e> stdout 2\n
1708 e> stderr 2\n 1022 e> stderr 2\n
1709 e> transaction abort!\n 1023 e> transaction abort!\n
1710 e> rollback completed\n 1024 e> rollback completed\n
1711 e> abort: pretxnchangegroup.b hook failed\n 1025 e> abort: pretxnchangegroup.b hook failed\n
1712
1713 testing ssh2
1714 creating ssh peer from handshake results
1715 i> write(171) -> 171:
1716 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1717 i> hello\n
1718 i> between\n
1719 i> pairs 81\n
1720 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1721 i> flush() -> None
1722 o> readline() -> 62:
1723 o> upgraded * exp-ssh-v2-0003\n (glob)
1724 o> readline() -> 4:
1725 o> 443\n
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
1727 o> read(1) -> 1:
1728 o> \n
1729 sending unbundle command
1730 i> write(9) -> 9:
1731 i> unbundle\n
1732 i> write(9) -> 9:
1733 i> heads 10\n
1734 i> write(10) -> 10: 666f726365
1735 i> flush() -> None
1736 o> readline() -> 2:
1737 o> 0\n
1738 i> write(4) -> 4:
1739 i> 426\n
1740 i> write(426) -> 426:
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
1742 i> test\n
1743 i> 0 0\n
1744 i> foo\n
1745 i> \n
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
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
1748 i> \x00\x00\x00\x00\x00\x00\x00\x00
1749 i> write(2) -> 2:
1750 i> 0\n
1751 i> flush() -> None
1752 o> readline() -> 2:
1753 o> 0\n
1754 o> readline() -> 2:
1755 o> 1\n
1756 o> read(1) -> 1: 0
1757 result: 0
1758 remote output:
1759 e> read(-1) -> 228:
1760 e> adding changesets\n
1761 e> adding manifests\n
1762 e> adding file changes\n
1763 e> shell stdout 1\n
1764 e> shell stderr 1\n
1765 e> shell stdout 2\n
1766 e> shell stderr 2\n
1767 e> stdout 1\n
1768 e> stderr 1\n
1769 e> stdout 2\n
1770 e> stderr 2\n
1771 e> transaction abort!\n
1772 e> rollback completed\n
1773 e> abort: pretxnchangegroup.b hook failed\n
1774
1775 $ cd .. 1026 $ cd ..
1776 1027
1777 Pushing a bundle1 with no output 1028 Pushing a bundle1 with no output
1778 1029
1779 $ hg init simplerepo 1030 $ hg init simplerepo
1835 e> read(-1) -> 100: 1086 e> read(-1) -> 100:
1836 e> adding changesets\n 1087 e> adding changesets\n
1837 e> adding manifests\n 1088 e> adding manifests\n
1838 e> adding file changes\n 1089 e> adding file changes\n
1839 e> added 1 changesets with 1 changes to 1 files\n 1090 e> added 1 changesets with 1 changes to 1 files\n
1840
1841 testing ssh2
1842 creating ssh peer from handshake results
1843 i> write(171) -> 171:
1844 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1845 i> hello\n
1846 i> between\n
1847 i> pairs 81\n
1848 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1849 i> flush() -> None
1850 o> readline() -> 62:
1851 o> upgraded * exp-ssh-v2-0003\n (glob)
1852 o> readline() -> 4:
1853 o> 443\n
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
1855 o> read(1) -> 1:
1856 o> \n
1857 sending unbundle command
1858 i> write(9) -> 9:
1859 i> unbundle\n
1860 i> write(9) -> 9:
1861 i> heads 10\n
1862 i> write(10) -> 10: 666f726365
1863 i> flush() -> None
1864 o> readline() -> 2:
1865 o> 0\n
1866 i> write(4) -> 4:
1867 i> 426\n
1868 i> write(426) -> 426:
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
1870 i> test\n
1871 i> 0 0\n
1872 i> foo\n
1873 i> \n
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
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
1876 i> \x00\x00\x00\x00\x00\x00\x00\x00
1877 i> write(2) -> 2:
1878 i> 0\n
1879 i> flush() -> None
1880 o> readline() -> 2:
1881 o> 0\n
1882 o> readline() -> 2:
1883 o> 1\n
1884 o> read(1) -> 1: 1
1885 result: 1
1886 remote output:
1887 e> read(-1) -> 100:
1888 e> adding changesets\n
1889 e> adding manifests\n
1890 e> adding file changes\n
1891 e> added 1 changesets with 1 changes to 1 files\n
1892
1893 $ cd .. 1091 $ cd ..
1894 1092
1895 Pushing a bundle1 with ui.write() and ui.write_err() 1093 Pushing a bundle1 with ui.write() and ui.write_err()
1896 1094
1897 $ cat > $TESTTMP/hook << EOF 1095 $ cat > $TESTTMP/hook << EOF
1969 e> ui.write 1\n 1167 e> ui.write 1\n
1970 e> ui.write_err 1\n 1168 e> ui.write_err 1\n
1971 e> ui.write 2\n 1169 e> ui.write 2\n
1972 e> ui.write_err 2\n 1170 e> ui.write_err 2\n
1973 e> added 1 changesets with 1 changes to 1 files\n 1171 e> added 1 changesets with 1 changes to 1 files\n
1974
1975 testing ssh2
1976 creating ssh peer from handshake results
1977 i> write(171) -> 171:
1978 i> upgrade * proto=exp-ssh-v2-0003\n (glob)
1979 i> hello\n
1980 i> between\n
1981 i> pairs 81\n
1982 i> 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000
1983 i> flush() -> None
1984 o> readline() -> 62:
1985 o> upgraded * exp-ssh-v2-0003\n (glob)
1986 o> readline() -> 4:
1987 o> 443\n
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
1989 o> read(1) -> 1:
1990 o> \n
1991 sending unbundle command
1992 i> write(9) -> 9:
1993 i> unbundle\n
1994 i> write(9) -> 9:
1995 i> heads 10\n
1996 i> write(10) -> 10: 666f726365
1997 i> flush() -> None
1998 o> readline() -> 2:
1999 o> 0\n
2000 i> write(4) -> 4:
2001 i> 426\n
2002 i> write(426) -> 426:
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
2004 i> test\n
2005 i> 0 0\n
2006 i> foo\n
2007 i> \n
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
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
2010 i> \x00\x00\x00\x00\x00\x00\x00\x00
2011 i> write(2) -> 2:
2012 i> 0\n
2013 i> flush() -> None
2014 o> readline() -> 2:
2015 o> 0\n
2016 o> readline() -> 2:
2017 o> 1\n
2018 o> read(1) -> 1: 1
2019 result: 1
2020 remote output:
2021 e> read(-1) -> 152:
2022 e> adding changesets\n
2023 e> adding manifests\n
2024 e> adding file changes\n
2025 e> ui.write 1\n
2026 e> ui.write_err 1\n
2027 e> ui.write 2\n
2028 e> ui.write_err 2\n
2029 e> added 1 changesets with 1 changes to 1 files\n