changeset 3627:31569df48c82

evolve: explicitly turn revs to list before storing into evolvestate The cbor library which we are using cannot handle encoding and decoding Python sets, and revs was set there. Let's convert revs explicitly to list to make sure we don't try writing sets.
author Pulkit Goyal <7895pulkit@gmail.com>
date Fri, 23 Mar 2018 19:16:25 +0530
parents 760210aa0d78
children 170b99a9c0b4
files hgext3rd/evolve/evolvecmd.py
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/hgext3rd/evolve/evolvecmd.py	Fri Mar 23 18:58:19 2018 +0530
+++ b/hgext3rd/evolve/evolvecmd.py	Fri Mar 23 19:16:25 2018 +0530
@@ -1197,9 +1197,10 @@
             revs = _orderrevs(repo, revs)
 
         # cbor does not know how to serialize sets, using list for skippedrevs
-        stateopts = {'category': targetcat, 'replacements': {}, 'revs': revs,
-                     'confirm': confirmopt, 'startnode': startnode.node(),
-                     'skippedrevs': [], 'command': 'evolve', 'orphanmerge': False}
+        stateopts = {'category': targetcat, 'replacements': {},
+                     'revs': list(revs), 'confirm': confirmopt,
+                     'startnode': startnode.node(), 'skippedrevs': [],
+                     'command': 'evolve', 'orphanmerge': False}
         evolvestate.addopts(stateopts)
         for rev in revs:
             curctx = repo[rev]