hgext/convert/bzr.py
changeset 43077 687b865b95ad
parent 43076 2372284d9457
child 43105 649d3ac37a12
--- a/hgext/convert/bzr.py	Sun Oct 06 09:45:02 2019 -0400
+++ b/hgext/convert/bzr.py	Sun Oct 06 09:48:39 2019 -0400
@@ -17,7 +17,7 @@
 
 # these do not work with demandimport, blacklist
 demandimport.IGNORES.update(
-    ['bzrlib.transactions', 'bzrlib.urlutils', 'ElementPath',]
+    [b'bzrlib.transactions', b'bzrlib.urlutils', b'ElementPath',]
 )
 
 try:
@@ -35,7 +35,7 @@
 except ImportError:
     pass
 
-supportedkinds = ('file', 'symlink')
+supportedkinds = (b'file', b'symlink')
 
 
 class bzr_source(common.converter_source):
@@ -44,16 +44,16 @@
     def __init__(self, ui, repotype, path, revs=None):
         super(bzr_source, self).__init__(ui, repotype, path, revs=revs)
 
-        if not os.path.exists(os.path.join(path, '.bzr')):
+        if not os.path.exists(os.path.join(path, b'.bzr')):
             raise common.NoRepo(
-                _('%s does not look like a Bazaar repository') % path
+                _(b'%s does not look like a Bazaar repository') % path
             )
 
         try:
             # access bzrlib stuff
             bzrdir
         except NameError:
-            raise common.NoRepo(_('Bazaar modules could not be loaded'))
+            raise common.NoRepo(_(b'Bazaar modules could not be loaded'))
 
         path = os.path.abspath(path)
         self._checkrepotype(path)
@@ -61,10 +61,10 @@
             self.sourcerepo = bzrdir.BzrDir.open(path).open_repository()
         except errors.NoRepositoryPresent:
             raise common.NoRepo(
-                _('%s does not look like a Bazaar repository') % path
+                _(b'%s does not look like a Bazaar repository') % path
             )
         self._parentids = {}
-        self._saverev = ui.configbool('convert', 'bzr.saverev')
+        self._saverev = ui.configbool(b'convert', b'bzr.saverev')
 
     def _checkrepotype(self, path):
         # Lightweight checkouts detection is informational but probably
@@ -84,13 +84,13 @@
             ):
                 self.ui.warn(
                     _(
-                        'warning: lightweight checkouts may cause '
-                        'conversion failures, try with a regular '
-                        'branch instead.\n'
+                        b'warning: lightweight checkouts may cause '
+                        b'conversion failures, try with a regular '
+                        b'branch instead.\n'
                     )
                 )
         except Exception:
-            self.ui.note(_('bzr source type could not be determined\n'))
+            self.ui.note(_(b'bzr source type could not be determined\n'))
 
     def before(self):
         """Before the conversion begins, acquire a read lock
@@ -126,16 +126,16 @@
                 revid = info.rev_id
             if revid is None:
                 raise error.Abort(
-                    _('%s is not a valid revision') % self.revs[0]
+                    _(b'%s is not a valid revision') % self.revs[0]
                 )
             heads = [revid]
         # Empty repositories return 'null:', which cannot be retrieved
-        heads = [h for h in heads if h != 'null:']
+        heads = [h for h in heads if h != b'null:']
         return heads
 
     def getfile(self, name, rev):
         revtree = self.sourcerepo.revision_tree(rev)
-        fileid = revtree.path2id(name.decode(self.encoding or 'utf-8'))
+        fileid = revtree.path2id(name.decode(self.encoding or b'utf-8'))
         kind = None
         if fileid is not None:
             kind = revtree.kind(fileid)
@@ -143,11 +143,11 @@
             # the file is not available anymore - was deleted
             return None, None
         mode = self._modecache[(name, rev)]
-        if kind == 'symlink':
+        if kind == b'symlink':
             target = revtree.get_symlink_target(fileid)
             if target is None:
                 raise error.Abort(
-                    _('%s.%s symlink has no target') % (name, rev)
+                    _(b'%s.%s symlink has no target') % (name, rev)
                 )
             return target, mode
         else:
@@ -156,7 +156,7 @@
 
     def getchanges(self, version, 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._modecache = {}
         self._revtree = self.sourcerepo.revision_tree(version)
         # get the parentids from the cache
@@ -176,12 +176,12 @@
             parents = self._filterghosts(rev.parent_ids)
             self._parentids[version] = parents
 
-        branch = self.recode(rev.properties.get('branch-nick', u'default'))
-        if branch == 'trunk':
-            branch = 'default'
+        branch = self.recode(rev.properties.get(b'branch-nick', u'default'))
+        if branch == b'trunk':
+            branch = b'default'
         return common.commit(
             parents=parents,
-            date='%d %d' % (rev.timestamp, -rev.timezone),
+            date=b'%d %d' % (rev.timestamp, -rev.timezone),
             author=self.recode(rev.committer),
             desc=self.recode(rev.message),
             branch=branch,
@@ -248,13 +248,13 @@
 
             # bazaar tracks directories, mercurial does not, so
             # we have to rename the directory contents
-            if kind[1] == 'directory':
-                if kind[0] not in (None, 'directory'):
+            if kind[1] == b'directory':
+                if kind[0] not in (None, b'directory'):
                     # Replacing 'something' with a directory, record it
                     # so it can be removed.
                     changes.append((self.recode(paths[0]), revid))
 
-                if kind[0] == 'directory' and None not in paths:
+                if kind[0] == b'directory' and None not in paths:
                     renaming = paths[0] != paths[1]
                     # neither an add nor an delete - a move
                     # rename all directory contents manually
@@ -262,9 +262,9 @@
                     # get all child-entries of the directory
                     for name, entry in inventory.iter_entries(subdir):
                         # hg does not track directory renames
-                        if entry.kind == 'directory':
+                        if entry.kind == b'directory':
                             continue
-                        frompath = self.recode(paths[0] + '/' + name)
+                        frompath = self.recode(paths[0] + b'/' + name)
                         if frompath in seen:
                             # Already handled by a more specific change entry
                             # This is important when you have:
@@ -275,15 +275,15 @@
                         seen.add(frompath)
                         if not renaming:
                             continue
-                        topath = self.recode(paths[1] + '/' + name)
+                        topath = self.recode(paths[1] + b'/' + name)
                         # register the files as changed
                         changes.append((frompath, revid))
                         changes.append((topath, revid))
                         # add to mode cache
                         mode = (
-                            (entry.executable and 'x')
-                            or (entry.kind == 'symlink' and 's')
-                            or ''
+                            (entry.executable and b'x')
+                            or (entry.kind == b'symlink' and b's')
+                            or b''
                         )
                         self._modecache[(topath, revid)] = mode
                         # register the change as move
@@ -312,7 +312,7 @@
 
             # populate the mode cache
             kind, executable = [e[1] for e in (kind, executable)]
-            mode = (executable and 'x') or (kind == 'symlink' and 'l') or ''
+            mode = (executable and b'x') or (kind == b'symlink' and b'l') or b''
             self._modecache[(topath, revid)] = mode
             changes.append((topath, revid))