comparison hgext/convert/cvs.py @ 6956:12472a240398

i18n: mark strings for translation in convert extension
author Martin Geisler <mg@daimi.au.dk>
date Sun, 31 Aug 2008 16:12:02 +0200
parents d8159dd15db3
children e786192d995d
comparison
equal deleted inserted replaced
6955:a9411e29773f 6956:12472a240398
52 try: 52 try:
53 # date 53 # date
54 util.parsedate(self.rev, ['%Y/%m/%d %H:%M:%S']) 54 util.parsedate(self.rev, ['%Y/%m/%d %H:%M:%S'])
55 cmd = '%s -d "1970/01/01 00:00:01" -d "%s"' % (cmd, self.rev) 55 cmd = '%s -d "1970/01/01 00:00:01" -d "%s"' % (cmd, self.rev)
56 except util.Abort: 56 except util.Abort:
57 raise util.Abort('revision %s is not a patchset number or date' % self.rev) 57 raise util.Abort(_('revision %s is not a patchset number or date') % self.rev)
58 58
59 d = os.getcwd() 59 d = os.getcwd()
60 try: 60 try:
61 os.chdir(self.path) 61 os.chdir(self.path)
62 id = None 62 id = None
179 root = self.cvsroot 179 root = self.cvsroot
180 conntype = None 180 conntype = None
181 user, host = None, None 181 user, host = None, None
182 cmd = ['cvs', 'server'] 182 cmd = ['cvs', 'server']
183 183
184 self.ui.status("connecting to %s\n" % root) 184 self.ui.status(_("connecting to %s\n") % root)
185 185
186 if root.startswith(":pserver:"): 186 if root.startswith(":pserver:"):
187 root = root[9:] 187 root = root[9:]
188 m = re.match(r'(?:(.*?)(?::(.*?))?@)?([^:\/]*)(?::(\d*))?(.*)', 188 m = re.match(r'(?:(.*?)(?::(.*?))?@)?([^:\/]*)(?::(\d*))?(.*)',
189 root) 189 root)
219 sck = socket.socket() 219 sck = socket.socket()
220 sck.connect((serv, port)) 220 sck.connect((serv, port))
221 sck.send("\n".join(["BEGIN AUTH REQUEST", root, user, passw, 221 sck.send("\n".join(["BEGIN AUTH REQUEST", root, user, passw,
222 "END AUTH REQUEST", ""])) 222 "END AUTH REQUEST", ""]))
223 if sck.recv(128) != "I LOVE YOU\n": 223 if sck.recv(128) != "I LOVE YOU\n":
224 raise util.Abort("CVS pserver authentication failed") 224 raise util.Abort(_("CVS pserver authentication failed"))
225 225
226 self.writep = self.readp = sck.makefile('r+') 226 self.writep = self.readp = sck.makefile('r+')
227 227
228 if not conntype and root.startswith(":local:"): 228 if not conntype and root.startswith(":local:"):
229 conntype = "local" 229 conntype = "local"
262 " Merged Removed\n") 262 " Merged Removed\n")
263 self.writep.write("valid-requests\n") 263 self.writep.write("valid-requests\n")
264 self.writep.flush() 264 self.writep.flush()
265 r = self.readp.readline() 265 r = self.readp.readline()
266 if not r.startswith("Valid-requests"): 266 if not r.startswith("Valid-requests"):
267 raise util.Abort("server sucks") 267 raise util.Abort(_("server sucks"))
268 if "UseUnchanged" in r: 268 if "UseUnchanged" in r:
269 self.writep.write("UseUnchanged\n") 269 self.writep.write("UseUnchanged\n")
270 self.writep.flush() 270 self.writep.flush()
271 r = self.readp.readline() 271 r = self.readp.readline()
272 272
281 chunksize = 65536 281 chunksize = 65536
282 output = StringIO() 282 output = StringIO()
283 while count > 0: 283 while count > 0:
284 data = fp.read(min(count, chunksize)) 284 data = fp.read(min(count, chunksize))
285 if not data: 285 if not data:
286 raise util.Abort("%d bytes missing from remote file" % count) 286 raise util.Abort(_("%d bytes missing from remote file") % count)
287 count -= len(data) 287 count -= len(data)
288 output.write(data) 288 output.write(data)
289 return output.getvalue() 289 return output.getvalue()
290 290
291 if rev.endswith("(DEAD)"): 291 if rev.endswith("(DEAD)"):
316 data = chunkedread(self.readp, count) 316 data = chunkedread(self.readp, count)
317 else: 317 else:
318 if line == "ok\n": 318 if line == "ok\n":
319 return (data, "x" in mode and "x" or "") 319 return (data, "x" in mode and "x" or "")
320 elif line.startswith("E "): 320 elif line.startswith("E "):
321 self.ui.warn("cvs server: %s\n" % line[2:]) 321 self.ui.warn(_("cvs server: %s\n") % line[2:])
322 elif line.startswith("Remove"): 322 elif line.startswith("Remove"):
323 l = self.readp.readline() 323 l = self.readp.readline()
324 l = self.readp.readline() 324 l = self.readp.readline()
325 if l != "ok\n": 325 if l != "ok\n":
326 raise util.Abort("unknown CVS response: %s" % l) 326 raise util.Abort(_("unknown CVS response: %s") % l)
327 else: 327 else:
328 raise util.Abort("unknown CVS response: %s" % line) 328 raise util.Abort(_("unknown CVS response: %s") % line)
329 329
330 def getfile(self, file, rev): 330 def getfile(self, file, rev):
331 data, mode = self._getfile(file, rev) 331 data, mode = self._getfile(file, rev)
332 self.modecache[(file, rev)] = mode 332 self.modecache[(file, rev)] = mode
333 return data 333 return data