# HG changeset patch # User csaba.henk@creo.hu # Date 1169942011 28800 # Node ID 705d0792dbf237fea373b0f3947a63e69b1e81ef # Parent 7fd68d2667fe9848c9d16ec7ef8a5c1976d9f1cb add pserver support to convert_repo diff -r 7fd68d2667fe -r 705d0792dbf2 contrib/convert-repo --- a/contrib/convert-repo Sat Jan 27 15:43:16 2007 -0800 +++ b/contrib/convert-repo Sat Jan 27 15:53:31 2007 -0800 @@ -23,7 +23,7 @@ # on each commit copied, so convert-repo can be interrupted and can # be run repeatedly to copy new commits. -import sys, os, zlib, sha, time, re, locale +import sys, os, zlib, sha, time, re, locale, socket os.environ["HGENCODING"] = "utf-8" from mercurial import hg, ui, util, fancyopts @@ -138,38 +138,73 @@ def _connect(self): root = self.cvsroot - local = False + conntype = None user, host = None, None cmd = ['cvs', 'server'] status("connecting to %s\n" % root) - # only non-pserver for now - if root.startswith(":pserver"): - abort("can't handle pserver mode yet: %s\n" % root) + if root.startswith(":pserver:"): + root = root[9:] + m = re.match(r'(?:(.*?)(?::(.*?))?@)?([^:\/]*)(?::(\d*))?(.*)', root) + if m: + conntype = "pserver" + user, passw, serv, port, root = m.groups() + if not user: + user = "anonymous" + rr = ":pserver:" + user + "@" + serv + ":" + root + if port: + rr2, port = "-", int(port) + else: + rr2, port = rr, 2401 + rr += str(port) - if root.startswith(":local:"): - local = True + if not passw: + passw = "A" + pf = open(os.path.join(os.environ["HOME"], ".cvspass")) + for l in pf: + # :pserver:cvs@mea.tmt.tele.fi:/cvsroot/zmailer Ah