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