# HG changeset patch # User Matt Harbison # Date 2015-06-14 17:04:00 # Node ID 7cc1d33f0ba602bb53c466cb79e44bc9b1d96dcc # Parent 2612e6dab189b5062bf5e89aaac607e13b6bc912 convert: always track the hg source revision in the internal commit object This will be needed in the next patch to determine if phases need to be adjusted. The insertion of the source revision in 'extras{}' is still controlled by the config property. 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.