diff --git a/hgext/convert/common.py b/hgext/convert/common.py --- a/hgext/convert/common.py +++ b/hgext/convert/common.py @@ -44,7 +44,7 @@ SKIPREV = 'SKIP' class commit(object): def __init__(self, author, date, desc, parents, branch=None, rev=None, - extra={}, sortkey=None): + extra={}, sortkey=None, saverev=True): self.author = author or 'unknown' self.date = date or '0 0' self.desc = desc @@ -53,6 +53,7 @@ class commit(object): self.rev = rev self.extra = extra self.sortkey = sortkey + self.saverev = saverev class converter_source(object): """Conversion source interface""" diff --git a/hgext/convert/hg.py b/hgext/convert/hg.py --- a/hgext/convert/hg.py +++ b/hgext/convert/hg.py @@ -243,7 +243,7 @@ class mercurial_sink(converter_sink): if self.branchnames and commit.branch: extra['branch'] = commit.branch - if commit.rev: + if commit.rev and commit.saverev: extra['convert_revision'] = commit.rev while parents: @@ -473,15 +473,13 @@ class mercurial_source(converter_source) def getcommit(self, rev): ctx = self.changectx(rev) parents = [p.hex() for p in self.parents(ctx)] - if self.saverev: - crev = rev - else: - crev = None + crev = rev + return commit(author=ctx.user(), date=util.datestr(ctx.date(), '%Y-%m-%d %H:%M:%S %1%2'), desc=ctx.description(), rev=crev, parents=parents, branch=ctx.branch(), extra=ctx.extra(), - sortkey=ctx.rev()) + sortkey=ctx.rev(), saverev=self.saverev) def gettags(self): # This will get written to .hgtags, filter non global tags out.