# HG changeset patch # User Stanislau Hlebik # Date 2017-02-13 10:26:18 # Node ID 6037caa6a2f366b614ab29460a26b92d94e0fd50 # Parent 76a1e735449ca8c2e93ca6823fefdcb5fc242572 localrepo: cache self.changelog in local variable Repeated self.changelog lookups can incur overhead. Let's cache it in the separate variable. diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1853,8 +1853,9 @@ class localrepository(object): def heads(self, start=None): if start is None: - headrevs = sorted(self.changelog.headrevs(), reverse=True) - return [self.changelog.node(rev) for rev in headrevs] + cl = self.changelog + headrevs = sorted(cl.headrevs(), reverse=True) + return [cl.node(rev) for rev in headrevs] heads = self.changelog.heads(start) # sort the output in rev descending order