Mercurial > hg > mercurial-crew-with-dirclash
comparison hgext/convert/cvs.py @ 5120:dc2e512cb89a
CVS import: Support new-style .cvspass-file format.
Based on an email from Ralf.Leibold at nuance dot com
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Tue, 07 Aug 2007 15:56:26 +0200 |
parents | 30e826bd8ed1 |
children | 7106f4899aa0 a76c61679b71 |
comparison
equal
deleted
inserted
replaced
5115:ea7b982b6c08 | 5120:dc2e512cb89a |
---|---|
105 if m: | 105 if m: |
106 conntype = "pserver" | 106 conntype = "pserver" |
107 user, passw, serv, port, root = m.groups() | 107 user, passw, serv, port, root = m.groups() |
108 if not user: | 108 if not user: |
109 user = "anonymous" | 109 user = "anonymous" |
110 rr = ":pserver:" + user + "@" + serv + ":" + root | 110 if not port: |
111 if port: | 111 port = 2401 |
112 rr2, port = "-", int(port) | |
113 else: | 112 else: |
114 rr2, port = rr, 2401 | 113 port = int(port) |
115 rr += str(port) | 114 format0 = ":pserver:%s@%s:%s" % (user, serv, root) |
115 format1 = ":pserver:%s@%s:%d%s" % (user, serv, port, root) | |
116 | 116 |
117 if not passw: | 117 if not passw: |
118 passw = "A" | 118 passw = "A" |
119 pf = open(os.path.join(os.environ["HOME"], ".cvspass")) | 119 pf = open(os.path.join(os.environ["HOME"], ".cvspass")) |
120 for l in pf: | 120 for line in pf.read().splitlines(): |
121 # :pserver:cvs@mea.tmt.tele.fi:/cvsroot/zmailer Ah<Z | 121 part1, part2 = line.split(' ', 1) |
122 m = re.match(r'(/\d+\s+/)?(.*)', l) | 122 if part1 == '/1': |
123 l = m.group(2) | 123 # /1 :pserver:user@example.com:2401/cvsroot/foo Ah<Z |
124 w, p = l.split(' ', 1) | 124 part1, part2 = part2.split(' ', 1) |
125 if w in [rr, rr2]: | 125 format = format1 |
126 passw = p | 126 else: |
127 # :pserver:user@example.com:/cvsroot/foo Ah<Z | |
128 format = format0 | |
129 if part1 == format: | |
130 passw = part2 | |
127 break | 131 break |
128 pf.close() | 132 pf.close() |
129 | 133 |
130 sck = socket.socket() | 134 sck = socket.socket() |
131 sck.connect((serv, port)) | 135 sck.connect((serv, port)) |