changeset 1265:6f08a8f6bb1d

debugobsconvert: also deduplicate markers in the process Various bug allowed identical or semantically identical marker to be added to the repository. So we also filter duplicates when converting.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Thu, 20 Nov 2014 15:33:14 -0800
parents 04bd66779a1f
children 4697f23e0ede
files hgext/evolve.py
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -2765,7 +2765,14 @@
         msg = _('New format is the same as the old format, not upgrading!')
         raise util.Abort(msg)
     f = repo.sopener('obsstore', 'wb', atomictemp=True)
-    markers = repo.obsstore._all
+    origmarkers = repo.obsstore._all
+    known = set()
+    markers = []
+    for m in markers:
+        if m in known:
+            continue
+        know.add(m)
+        markers.append(m)
     ui.write(_('Old store is version %d, will rewrite in verion %d\n') % (
         repo.obsstore._version, new_format))
     map(f.write, obsolete.encodemarkers(markers, True, new_format))