diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py --- a/mercurial/branchmap.py +++ b/mercurial/branchmap.py @@ -211,7 +211,7 @@ def __init__(self, entries=(), tipnode=nullid, tiprev=nullrev, filteredhash=None, closednodes=None): - super(branchcache, self).__init__(entries) + super(_branchcache, self).__init__(entries) self.tipnode = tipnode self.tiprev = tiprev self.filteredhash = filteredhash @@ -369,6 +369,11 @@ self.write(repo) +# keep a private reference to the class object so that subclasses that +# replace the branchcache class do not break super() +_branchcache = branchcache + + class remotebranchcache(branchcache): """Branchmap info for a remote connection, should not write locally""" def write(self, repo):