comparison mercurial/httprepo.py @ 7641:d2f753830f80

error: move UnexpectedOutput (now ResponseError)
author Matt Mackall <mpm@selenic.com>
date Mon, 12 Jan 2009 11:28:28 -0600
parents 1d54e2f6c0b7
children 998fc8f62539
comparison
equal deleted inserted replaced
7640:7197812e8d44 7641:d2f753830f80
133 def heads(self): 133 def heads(self):
134 d = self.do_read("heads") 134 d = self.do_read("heads")
135 try: 135 try:
136 return map(bin, d[:-1].split(" ")) 136 return map(bin, d[:-1].split(" "))
137 except: 137 except:
138 raise util.UnexpectedOutput(_("unexpected response:"), d) 138 raise error.ResponseError(_("unexpected response:"), d)
139 139
140 def branches(self, nodes): 140 def branches(self, nodes):
141 n = " ".join(map(hex, nodes)) 141 n = " ".join(map(hex, nodes))
142 d = self.do_read("branches", nodes=n) 142 d = self.do_read("branches", nodes=n)
143 try: 143 try:
144 br = [ tuple(map(bin, b.split(" "))) for b in d.splitlines() ] 144 br = [ tuple(map(bin, b.split(" "))) for b in d.splitlines() ]
145 return br 145 return br
146 except: 146 except:
147 raise util.UnexpectedOutput(_("unexpected response:"), d) 147 raise error.ResponseError(_("unexpected response:"), d)
148 148
149 def between(self, pairs): 149 def between(self, pairs):
150 batch = 8 # avoid giant requests 150 batch = 8 # avoid giant requests
151 r = [] 151 r = []
152 for i in xrange(0, len(pairs), batch): 152 for i in xrange(0, len(pairs), batch):
153 n = " ".join(["-".join(map(hex, p)) for p in pairs[i:i + batch]]) 153 n = " ".join(["-".join(map(hex, p)) for p in pairs[i:i + batch]])
154 d = self.do_read("between", pairs=n) 154 d = self.do_read("between", pairs=n)
155 try: 155 try:
156 r += [ l and map(bin, l.split(" ")) or [] for l in d.splitlines() ] 156 r += [ l and map(bin, l.split(" ")) or [] for l in d.splitlines() ]
157 except: 157 except:
158 raise util.UnexpectedOutput(_("unexpected response:"), d) 158 raise error.ResponseError(_("unexpected response:"), d)
159 return r 159 return r
160 160
161 def changegroup(self, nodes, kind): 161 def changegroup(self, nodes, kind):
162 n = " ".join(map(hex, nodes)) 162 n = " ".join(map(hex, nodes))
163 f = self.do_cmd("changegroup", roots=n) 163 f = self.do_cmd("changegroup", roots=n)
198 heads=' '.join(map(hex, heads))) 198 heads=' '.join(map(hex, heads)))
199 resp_code, output = resp.split('\n', 1) 199 resp_code, output = resp.split('\n', 1)
200 try: 200 try:
201 ret = int(resp_code) 201 ret = int(resp_code)
202 except ValueError, err: 202 except ValueError, err:
203 raise util.UnexpectedOutput( 203 raise error.ResponseError(
204 _('push failed (unexpected response):'), resp) 204 _('push failed (unexpected response):'), resp)
205 self.ui.write(output) 205 self.ui.write(output)
206 return ret 206 return ret
207 except socket.error, err: 207 except socket.error, err:
208 if err[0] in (errno.ECONNRESET, errno.EPIPE): 208 if err[0] in (errno.ECONNRESET, errno.EPIPE):