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.
--- 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]