diff -r 577f65cf1a57 -r 59cc09240afb mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Mar 17 14:29:56 2015 -0700 +++ b/mercurial/localrepo.py Tue Feb 10 19:53:48 2015 -0800 @@ -279,6 +279,7 @@ self._branchcaches = {} + self._revbranchcache = None self.filterpats = {} self._datafilters = {} self._transref = self._lockref = self._wlockref = None @@ -726,6 +727,12 @@ branchmap.updatecache(self) return self._branchcaches[self.filtername] + @unfilteredmethod + def revbranchcache(self): + if not self._revbranchcache: + self._revbranchcache = branchmap.revbranchcache(self.unfiltered()) + return self._revbranchcache + def branchtip(self, branch, ignoremissing=False): '''return the tip node for a given branch