Mercurial > hg
diff hgext/convert/convcmd.py @ 21636:3de9f2c4900c
convert: only consider shamap revisions converted if they still exists
Rollback or strip could leave a Mercurial repo with a shamap with revisions no
longer in the repository.
To ensure reliable conversions we now check that the commit actually exists and
consider it non-existing if it doesn't exist.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Mon, 19 May 2014 22:12:31 +0200 |
parents | 23b24d6a70c8 |
children | 35ab037de989 |
line wrap: on
line diff
--- a/hgext/convert/convcmd.py Mon May 19 22:12:30 2014 +0200 +++ b/hgext/convert/convcmd.py Mon May 19 22:12:31 2014 +0200 @@ -173,8 +173,12 @@ parents = {} while visit: n = visit.pop(0) - if n in known or n in self.map: + if n in known: continue + if n in self.map: + m = self.map[n] + if m == SKIPREV or self.dest.hascommitfrommap(m): + continue known.add(n) self.ui.progress(_('scanning'), len(known), unit=_('revisions')) commit = self.cachecommit(n)