diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -366,7 +366,9 @@ obsrevs = obsolete.getrevs(repo, b'obsolete') if not cl.filteredrevs and not obsrevs: return None - key = (maxrev, hash(cl.filteredrevs), hash(obsrevs)) + # TODO: obsrevs should be a frozenset, but right now obsolete.getrevs() + # may return a set, which is not a hashable type. + key = (maxrev, hash(cl.filteredrevs), hash(frozenset(obsrevs))) else: if not cl.filteredrevs: return None