Mercurial > hg-stable
diff hgext/convert/darcs.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 | d4ba4d51f85f |
line wrap: on
line diff
--- a/hgext/convert/darcs.py Sun Oct 06 09:45:02 2019 -0400 +++ b/hgext/convert/darcs.py Sun Oct 06 09:48:39 2019 -0400 @@ -46,22 +46,22 @@ class darcs_source(common.converter_source, common.commandline): def __init__(self, ui, repotype, path, revs=None): common.converter_source.__init__(self, ui, repotype, path, revs=revs) - common.commandline.__init__(self, ui, 'darcs') + common.commandline.__init__(self, ui, b'darcs') # check for _darcs, ElementTree so that we can easily skip # test-convert-darcs if ElementTree is not around - if not os.path.exists(os.path.join(path, '_darcs')): - raise NoRepo(_("%s does not look like a darcs repository") % path) + if not os.path.exists(os.path.join(path, b'_darcs')): + raise NoRepo(_(b"%s does not look like a darcs repository") % path) - common.checktool('darcs') - version = self.run0('--version').splitlines()[0].strip() - if version < '2.1': + common.checktool(b'darcs') + version = self.run0(b'--version').splitlines()[0].strip() + if version < b'2.1': raise error.Abort( - _('darcs version 2.1 or newer needed (found %r)') % version + _(b'darcs version 2.1 or newer needed (found %r)') % version ) - if "ElementTree" not in globals(): - raise error.Abort(_("Python ElementTree module is not available")) + if b"ElementTree" not in globals(): + raise error.Abort(_(b"Python ElementTree module is not available")) self.path = os.path.realpath(path) @@ -73,30 +73,33 @@ # Check darcs repository format format = self.format() if format: - if format in ('darcs-1.0', 'hashed'): + if format in (b'darcs-1.0', b'hashed'): raise NoRepo( - _("%s repository format is unsupported, " "please upgrade") + _( + b"%s repository format is unsupported, " + b"please upgrade" + ) % format ) else: - self.ui.warn(_('failed to detect repository format!')) + self.ui.warn(_(b'failed to detect repository format!')) def before(self): self.tmppath = pycompat.mkdtemp( - prefix='convert-' + os.path.basename(self.path) + '-' + prefix=b'convert-' + os.path.basename(self.path) + b'-' ) - output, status = self.run('init', repodir=self.tmppath) + output, status = self.run(b'init', repodir=self.tmppath) self.checkexit(status) tree = self.xml( - 'changes', xml_output=True, summary=True, repodir=self.path + b'changes', xml_output=True, summary=True, repodir=self.path ) tagname = None child = None - for elt in tree.findall('patch'): - node = elt.get('hash') - name = elt.findtext('name', '') - if name.startswith('TAG '): + for elt in tree.findall(b'patch'): + node = elt.get(b'hash') + name = elt.findtext(b'name', b'') + if name.startswith(b'TAG '): tagname = name[4:].strip() elif tagname is not None: self.tags[tagname] = node @@ -107,7 +110,7 @@ self.parents[child] = [] def after(self): - self.ui.debug('cleaning up %s\n' % self.tmppath) + self.ui.debug(b'cleaning up %s\n' % self.tmppath) shutil.rmtree(self.tmppath, ignore_errors=True) def recode(self, s, encoding=None): @@ -125,7 +128,7 @@ # While we are decoding the XML as latin-1 to be as liberal as # possible, etree will still raise an exception if any # non-printable characters are in the XML changelog. - parser = XMLParser(encoding='latin-1') + parser = XMLParser(encoding=b'latin-1') p = self._run(cmd, **kwargs) etree.parse(p.stdout, parser=parser) p.wait() @@ -133,20 +136,20 @@ return etree.getroot() def format(self): - output, status = self.run('show', 'repo', repodir=self.path) + output, status = self.run(b'show', b'repo', repodir=self.path) self.checkexit(status) m = re.search(r'^\s*Format:\s*(.*)$', output, re.MULTILINE) if not m: return None - return ','.join(sorted(f.strip() for f in m.group(1).split(','))) + return b','.join(sorted(f.strip() for f in m.group(1).split(b','))) def manifest(self): man = [] output, status = self.run( - 'show', 'files', no_directories=True, repodir=self.tmppath + b'show', b'files', no_directories=True, repodir=self.tmppath ) self.checkexit(status) - for line in output.split('\n'): + for line in output.split(b'\n'): path = line[2:] if path: man.append(path) @@ -157,14 +160,14 @@ def getcommit(self, rev): elt = self.changes[rev] - dateformat = '%a %b %d %H:%M:%S %Z %Y' - date = dateutil.strdate(elt.get('local_date'), dateformat) - desc = elt.findtext('name') + '\n' + elt.findtext('comment', '') + dateformat = b'%a %b %d %H:%M:%S %Z %Y' + date = dateutil.strdate(elt.get(b'local_date'), dateformat) + desc = elt.findtext(b'name') + b'\n' + elt.findtext(b'comment', b'') # etree can return unicode objects for name, comment, and author, # so recode() is used to ensure str objects are emitted. - newdateformat = '%Y-%m-%d %H:%M:%S %1%2' + newdateformat = b'%Y-%m-%d %H:%M:%S %1%2' return common.commit( - author=self.recode(elt.get('author')), + author=self.recode(elt.get(b'author')), date=dateutil.datestr(date, newdateformat), desc=self.recode(desc).strip(), parents=self.parents[rev], @@ -172,34 +175,34 @@ def pull(self, rev): output, status = self.run( - 'pull', + b'pull', self.path, all=True, - match='hash %s' % rev, + match=b'hash %s' % rev, no_test=True, no_posthook=True, - external_merge='/bin/false', + external_merge=b'/bin/false', repodir=self.tmppath, ) if status: - if output.find('We have conflicts in') == -1: + if output.find(b'We have conflicts in') == -1: self.checkexit(status, output) - output, status = self.run('revert', all=True, repodir=self.tmppath) + output, status = self.run(b'revert', all=True, repodir=self.tmppath) self.checkexit(status, output) def getchanges(self, rev, full): if full: - raise error.Abort(_("convert from darcs does not support --full")) + raise error.Abort(_(b"convert from darcs does not support --full")) copies = {} changes = [] man = None - for elt in self.changes[rev].find('summary').getchildren(): - if elt.tag in ('add_directory', 'remove_directory'): + for elt in self.changes[rev].find(b'summary').getchildren(): + if elt.tag in (b'add_directory', b'remove_directory'): continue - if elt.tag == 'move': + if elt.tag == b'move': if man is None: man = self.manifest() - source, dest = elt.get('from'), elt.get('to') + source, dest = elt.get(b'from'), elt.get(b'to') if source in man: # File move changes.append((source, rev)) @@ -207,11 +210,11 @@ copies[dest] = source else: # Directory move, deduce file moves from manifest - source = source + '/' + source = source + b'/' for f in man: if not f.startswith(source): continue - fdest = dest + '/' + f[len(source) :] + fdest = dest + b'/' + f[len(source) :] changes.append((f, rev)) changes.append((fdest, rev)) copies[fdest] = f @@ -223,7 +226,7 @@ def getfile(self, name, rev): if rev != self.lastrev: - raise error.Abort(_('internal calling inconsistency')) + raise error.Abort(_(b'internal calling inconsistency')) path = os.path.join(self.tmppath, name) try: data = util.readfile(path) @@ -232,7 +235,7 @@ if inst.errno == errno.ENOENT: return None, None raise - mode = (mode & 0o111) and 'x' or '' + mode = (mode & 0o111) and b'x' or b'' return data, mode def gettags(self):