# HG changeset patch # User Anton Shestakov # Date 1644592251 -10800 # Node ID ce7da767c7f66b90d4f2e2dfa5d9b1fd98fda67f # Parent 7da0f8128d90d5a9b40a869f42cf13be50e9bd44 evolve: make _computeobsoleteset() return a frozenset Let's make sure that obsolete.getrevs(repo, b'obsolete') returns a frozenset to be compatible with Mercurial 6.1. This shouldn't produce any issues on older versions, because I doubt anything tries to modify a set of obsolete revisions by calling .add() or .remove() directly on it. See 27fe84a8dd60 and c7e675848027 in core. diff -r 7da0f8128d90 -r ce7da767c7f6 hgext3rd/evolve/obscache.py --- a/hgext3rd/evolve/obscache.py Fri Feb 18 11:55:40 2022 +0100 +++ b/hgext3rd/evolve/obscache.py Fri Feb 11 18:10:51 2022 +0300 @@ -432,7 +432,6 @@ def _computeobsoleteset(orig, repo): """the set of obsolete revisions""" - obs = set() repo = repo.unfiltered() notpublic = repo._phasecache.getrevset(repo, (phases.draft, phases.secret)) if notpublic: @@ -461,10 +460,7 @@ # disk when the transaction close. obscache.update(repo) isobs = obscache.get - for r in notpublic: - if isobs(r): - obs.add(r) - return obs + return frozenset(r for r in notpublic if isobs(r)) @eh.uisetup def cachefuncs(ui):