Mercurial > hg
diff hgext/convert/cvs.py @ 43077:687b865b95ad
formatting: byteify all mercurial/ and hgext/ string literals
Done with
python3.7 contrib/byteify-strings.py -i $(hg files 'set:mercurial/**.py - mercurial/thirdparty/** + hgext/**.py - hgext/fsmonitor/pywatchman/** - mercurial/__init__.py')
black -l 80 -t py33 -S $(hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**')
# skip-blame mass-reformatting only
Differential Revision: https://phab.mercurial-scm.org/D6972
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:48:39 -0400 |
parents | 2372284d9457 |
children | eef9a2d67051 |
line wrap: on
line diff
--- a/hgext/convert/cvs.py Sun Oct 06 09:45:02 2019 -0400 +++ b/hgext/convert/cvs.py Sun Oct 06 09:48:39 2019 -0400 @@ -39,19 +39,19 @@ def __init__(self, ui, repotype, path, revs=None): super(convert_cvs, self).__init__(ui, repotype, path, revs=revs) - cvs = os.path.join(path, "CVS") + cvs = os.path.join(path, b"CVS") if not os.path.exists(cvs): - raise NoRepo(_("%s does not look like a CVS checkout") % path) + raise NoRepo(_(b"%s does not look like a CVS checkout") % path) - checktool('cvs') + checktool(b'cvs') self.changeset = None self.files = {} self.tags = {} self.lastbranch = {} self.socket = None - self.cvsroot = open(os.path.join(cvs, "Root"), 'rb').read()[:-1] - self.cvsrepo = open(os.path.join(cvs, "Repository"), 'rb').read()[:-1] + self.cvsroot = open(os.path.join(cvs, b"Root"), b'rb').read()[:-1] + self.cvsrepo = open(os.path.join(cvs, b"Repository"), b'rb').read()[:-1] self.encoding = encoding.encoding self._connect() @@ -65,7 +65,10 @@ if self.revs: if len(self.revs) > 1: raise error.Abort( - _('cvs source does not support specifying ' 'multiple revs') + _( + b'cvs source does not support specifying ' + b'multiple revs' + ) ) # TODO: handle tags try: @@ -73,23 +76,23 @@ maxrev = int(self.revs[0]) except ValueError: raise error.Abort( - _('revision %s is not a patchset number') % self.revs[0] + _(b'revision %s is not a patchset number') % self.revs[0] ) d = encoding.getcwd() try: os.chdir(self.path) - cache = 'update' - if not self.ui.configbool('convert', 'cvsps.cache'): + cache = b'update' + if not self.ui.configbool(b'convert', b'cvsps.cache'): cache = None db = cvsps.createlog(self.ui, cache=cache) db = cvsps.createchangeset( self.ui, db, - fuzz=int(self.ui.config('convert', 'cvsps.fuzz')), - mergeto=self.ui.config('convert', 'cvsps.mergeto'), - mergefrom=self.ui.config('convert', 'cvsps.mergefrom'), + fuzz=int(self.ui.config(b'convert', b'cvsps.fuzz')), + mergeto=self.ui.config(b'convert', b'cvsps.mergeto'), + mergefrom=self.ui.config(b'convert', b'cvsps.mergefrom'), ) for cs in db: @@ -99,16 +102,16 @@ cs.author = self.recode(cs.author) self.lastbranch[cs.branch] = id cs.comment = self.recode(cs.comment) - if self.ui.configbool('convert', 'localtimezone'): + if self.ui.configbool(b'convert', b'localtimezone'): cs.date = makedatetimestamp(cs.date[0]) - date = dateutil.datestr(cs.date, '%Y-%m-%d %H:%M:%S %1%2') + date = dateutil.datestr(cs.date, b'%Y-%m-%d %H:%M:%S %1%2') self.tags.update(dict.fromkeys(cs.tags, id)) files = {} for f in cs.entries: - files[f.file] = "%s%s" % ( - '.'.join([(b"%d" % x) for x in f.revision]), - ['', '(DEAD)'][f.dead], + files[f.file] = b"%s%s" % ( + b'.'.join([(b"%d" % x) for x in f.revision]), + [b'', b'(DEAD)'][f.dead], ) # add current commit to set @@ -117,7 +120,7 @@ date=date, parents=[(b"%d" % p.id) for p in cs.parents], desc=cs.comment, - branch=cs.branch or '', + branch=cs.branch or b'', ) self.changeset[id] = c self.files[id] = files @@ -130,38 +133,38 @@ root = self.cvsroot conntype = None user, host = None, None - cmd = ['cvs', 'server'] + cmd = [b'cvs', b'server'] - self.ui.status(_("connecting to %s\n") % root) + self.ui.status(_(b"connecting to %s\n") % root) - if root.startswith(":pserver:"): + if root.startswith(b":pserver:"): root = root[9:] m = re.match( r'(?:(.*?)(?::(.*?))?@)?([^:\/]*)(?::(\d*))?(.*)', root ) if m: - conntype = "pserver" + conntype = b"pserver" user, passw, serv, port, root = m.groups() if not user: - user = "anonymous" + user = b"anonymous" if not port: port = 2401 else: port = int(port) - format0 = ":pserver:%s@%s:%s" % (user, serv, root) - format1 = ":pserver:%s@%s:%d%s" % (user, serv, port, root) + format0 = b":pserver:%s@%s:%s" % (user, serv, root) + format1 = b":pserver:%s@%s:%d%s" % (user, serv, port, root) if not passw: - passw = "A" - cvspass = os.path.expanduser("~/.cvspass") + passw = b"A" + cvspass = os.path.expanduser(b"~/.cvspass") try: - pf = open(cvspass, 'rb') + pf = open(cvspass, b'rb') for line in pf.read().splitlines(): - part1, part2 = line.split(' ', 1) + part1, part2 = line.split(b' ', 1) # /1 :pserver:user@example.com:2401/cvsroot/foo # Ah<Z - if part1 == '/1': - part1, part2 = part2.split(' ', 1) + if part1 == b'/1': + part1, part2 = part2.split(b' ', 1) format = format1 # :pserver:user@example.com:/cvsroot/foo Ah<Z else: @@ -179,72 +182,72 @@ sck = socket.socket() sck.connect((serv, port)) sck.send( - "\n".join( + b"\n".join( [ - "BEGIN AUTH REQUEST", + b"BEGIN AUTH REQUEST", root, user, passw, - "END AUTH REQUEST", - "", + b"END AUTH REQUEST", + b"", ] ) ) - if sck.recv(128) != "I LOVE YOU\n": - raise error.Abort(_("CVS pserver authentication failed")) + if sck.recv(128) != b"I LOVE YOU\n": + raise error.Abort(_(b"CVS pserver authentication failed")) - self.writep = self.readp = sck.makefile('r+') + self.writep = self.readp = sck.makefile(b'r+') - if not conntype and root.startswith(":local:"): - conntype = "local" + if not conntype and root.startswith(b":local:"): + conntype = b"local" root = root[7:] if not conntype: # :ext:user@host/home/user/path/to/cvsroot - if root.startswith(":ext:"): + if root.startswith(b":ext:"): root = root[5:] m = re.match(br'(?:([^@:/]+)@)?([^:/]+):?(.*)', root) # Do not take Windows path "c:\foo\bar" for a connection strings if os.path.isdir(root) or not m: - conntype = "local" + conntype = b"local" else: - conntype = "rsh" + conntype = b"rsh" user, host, root = m.group(1), m.group(2), m.group(3) - if conntype != "pserver": - if conntype == "rsh": - rsh = encoding.environ.get("CVS_RSH") or "ssh" + if conntype != b"pserver": + if conntype == b"rsh": + rsh = encoding.environ.get(b"CVS_RSH") or b"ssh" if user: - cmd = [rsh, '-l', user, host] + cmd + cmd = [rsh, b'-l', user, host] + cmd else: cmd = [rsh, host] + cmd # popen2 does not support argument lists under Windows cmd = [procutil.shellquote(arg) for arg in cmd] - cmd = procutil.quotecommand(' '.join(cmd)) + cmd = procutil.quotecommand(b' '.join(cmd)) self.writep, self.readp = procutil.popen2(cmd) self.realroot = root - self.writep.write("Root %s\n" % root) + self.writep.write(b"Root %s\n" % root) self.writep.write( - "Valid-responses ok error Valid-requests Mode" - " M Mbinary E Checked-in Created Updated" - " Merged Removed\n" + b"Valid-responses ok error Valid-requests Mode" + b" M Mbinary E Checked-in Created Updated" + b" Merged Removed\n" ) - self.writep.write("valid-requests\n") + self.writep.write(b"valid-requests\n") self.writep.flush() r = self.readp.readline() - if not r.startswith("Valid-requests"): + if not r.startswith(b"Valid-requests"): raise error.Abort( _( - 'unexpected response from CVS server ' - '(expected "Valid-requests", but got %r)' + b'unexpected response from CVS server ' + b'(expected "Valid-requests", but got %r)' ) % r ) - if "UseUnchanged" in r: - self.writep.write("UseUnchanged\n") + if b"UseUnchanged" in r: + self.writep.write(b"UseUnchanged\n") self.writep.flush() self.readp.readline() @@ -262,55 +265,55 @@ data = fp.read(min(count, chunksize)) if not data: raise error.Abort( - _("%d bytes missing from remote file") % count + _(b"%d bytes missing from remote file") % count ) count -= len(data) output.write(data) return output.getvalue() self._parse() - if rev.endswith("(DEAD)"): + if rev.endswith(b"(DEAD)"): return None, None - args = ("-N -P -kk -r %s --" % rev).split() - args.append(self.cvsrepo + '/' + name) + args = (b"-N -P -kk -r %s --" % rev).split() + args.append(self.cvsrepo + b'/' + name) for x in args: - self.writep.write("Argument %s\n" % x) - self.writep.write("Directory .\n%s\nco\n" % self.realroot) + self.writep.write(b"Argument %s\n" % x) + self.writep.write(b"Directory .\n%s\nco\n" % self.realroot) self.writep.flush() - data = "" + data = b"" mode = None while True: line = self.readp.readline() - if line.startswith("Created ") or line.startswith("Updated "): + if line.startswith(b"Created ") or line.startswith(b"Updated "): self.readp.readline() # path self.readp.readline() # entries mode = self.readp.readline()[:-1] count = int(self.readp.readline()[:-1]) data = chunkedread(self.readp, count) - elif line.startswith(" "): + elif line.startswith(b" "): data += line[1:] - elif line.startswith("M "): + elif line.startswith(b"M "): pass - elif line.startswith("Mbinary "): + elif line.startswith(b"Mbinary "): count = int(self.readp.readline()[:-1]) data = chunkedread(self.readp, count) else: - if line == "ok\n": + if line == b"ok\n": if mode is None: - raise error.Abort(_('malformed response from CVS')) - return (data, "x" in mode and "x" or "") - elif line.startswith("E "): - self.ui.warn(_("cvs server: %s\n") % line[2:]) - elif line.startswith("Remove"): + raise error.Abort(_(b'malformed response from CVS')) + return (data, b"x" in mode and b"x" or b"") + elif line.startswith(b"E "): + self.ui.warn(_(b"cvs server: %s\n") % line[2:]) + elif line.startswith(b"Remove"): self.readp.readline() else: - raise error.Abort(_("unknown CVS response: %s") % line) + raise error.Abort(_(b"unknown CVS response: %s") % line) def getchanges(self, rev, full): if full: - raise error.Abort(_("convert from cvs does not support --full")) + raise error.Abort(_(b"convert from cvs does not support --full")) self._parse() return sorted(self.files[rev].iteritems()), {}, set()