Mercurial > hg
diff hgext/convert/convcmd.py @ 7962:62154415821f
convert: fix authormap handling of lines without '='
Unpacking the result from str.split raises ValueError, not IndexError, if the
line does not contain a '='.
author | Marti Raudsepp <marti@juffo.org> |
---|---|
date | Sat, 04 Apr 2009 15:41:32 +0200 |
parents | de377b1a9a84 |
children | 43b70a964e0d |
line wrap: on
line diff
--- a/hgext/convert/convcmd.py Sat Mar 14 14:31:08 2009 +0200 +++ b/hgext/convert/convcmd.py Sat Apr 04 15:41:32 2009 +0200 @@ -197,24 +197,28 @@ def readauthormap(self, authorfile): afile = open(authorfile, 'r') for line in afile: + if line.strip() == '': continue + try: srcauthor, dstauthor = line.split('=', 1) - srcauthor = srcauthor.strip() - dstauthor = dstauthor.strip() - if srcauthor in self.authors and dstauthor != self.authors[srcauthor]: - self.ui.status( - _('Overriding mapping for author %s, was %s, will be %s\n') - % (srcauthor, self.authors[srcauthor], dstauthor)) - else: - self.ui.debug(_('mapping author %s to %s\n') - % (srcauthor, dstauthor)) - self.authors[srcauthor] = dstauthor - except IndexError: - self.ui.warn( - _('Ignoring bad line in author map file %s: %s\n') - % (authorfile, line.rstrip())) + except ValueError: + msg = _('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 = _('mapping author %s to %s\n') + self.ui.debug(msg % (srcauthor, dstauthor)) + self.authors[srcauthor] = dstauthor + continue + + m = _('overriding mapping for author %s, was %s, will be %s\n') + self.ui.status(m % (srcauthor, self.authors[srcauthor], dstauthor)) + afile.close() def cachecommit(self, rev):