D7732: convert: refactor authormap into separate function for outside use
joerg.sonnenberger (Joerg Sonnenberger)
phabricator at mercurial-scm.org
Fri Dec 27 20:10:46 UTC 2019
joerg.sonnenberger created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D7732
AFFECTED FILES
hgext/convert/convcmd.py
CHANGE DETAILS
diff --git a/hgext/convert/convcmd.py b/hgext/convert/convcmd.py
--- a/hgext/convert/convcmd.py
+++ b/hgext/convert/convcmd.py
@@ -55,6 +55,34 @@
orig_encoding = b'ascii'
+def readauthormap(ui, authorfile):
+ authors = {}
+
+ with open(authorfile, b'rb') as afile:
+ for line in afile:
+
+ line = line.strip()
+ if not line or line.startswith(b'#'):
+ continue
+
+ try:
+ srcauthor, dstauthor = line.split(b'=', 1)
+ except ValueError:
+ msg = _(b'ignoring bad line in author map file %s: %s\n')
+ ui.warn(msg % (authorfile, line.rstrip()))
+ continue
+
+ srcauthor = srcauthor.strip()
+ dstauthor = dstauthor.strip()
+ if authors.get(srcauthor) in (None, dstauthor):
+ msg = _(b'mapping author %s to %s\n')
+ ui.debug(msg % (srcauthor, dstauthor))
+ authors[srcauthor] = dstauthor
+ continue
+
+ m = _(b'overriding mapping for author %s, was %s, will be %s\n')
+ ui.status(m % (srcauthor, authors[srcauthor], dstauthor))
+ return authors
def recode(s):
if isinstance(s, pycompat.unicode):
@@ -448,32 +476,7 @@
ofile.close()
def readauthormap(self, authorfile):
- afile = open(authorfile, b'rb')
- for line in afile:
-
- line = line.strip()
- if not line or line.startswith(b'#'):
- continue
-
- try:
- srcauthor, dstauthor = line.split(b'=', 1)
- except ValueError:
- msg = _(b'ignoring bad line in author map file %s: %s\n')
- self.ui.warn(msg % (authorfile, line.rstrip()))
- continue
-
- srcauthor = srcauthor.strip()
- dstauthor = dstauthor.strip()
- if self.authors.get(srcauthor) in (None, dstauthor):
- msg = _(b'mapping author %s to %s\n')
- self.ui.debug(msg % (srcauthor, dstauthor))
- self.authors[srcauthor] = dstauthor
- continue
-
- m = _(b'overriding mapping for author %s, was %s, will be %s\n')
- self.ui.status(m % (srcauthor, self.authors[srcauthor], dstauthor))
-
- afile.close()
+ self.authors = readauthormap(self.ui, authorfile)
def cachecommit(self, rev):
commit = self.source.getcommit(rev)
To: joerg.sonnenberger, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list