# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1521812785 -19800 # Node ID 31569df48c828b95c61325dc3b826d04ff561b55 # Parent 760210aa0d78b80a1f422184bc5648c99c17672f 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. diff -r 760210aa0d78 -r 31569df48c82 hgext3rd/evolve/evolvecmd.py --- 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]