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)