# HG changeset patch # User Anton Shestakov # Date 1644592251 -10800 # Node ID e314f6207e5f04da921cc890cf67bb7b270c076d # Parent 885a972d506963ad46af05819e7d84d0223e694b 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 885a972d5069 -r e314f6207e5f hgext3rd/evolve/obscache.py --- a/hgext3rd/evolve/obscache.py Sun Feb 06 13:05:17 2022 +0300 +++ 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):