Mercurial > hg
changeset 42004:0bd730fbcc2b
branchcache: introduce hasbranch()
This will be used to check whether a branch exists or not. This will optimized
in future.
Differential Revision: https://phab.mercurial-scm.org/D6154
author | Pulkit Goyal <pulkit@yandex-team.ru> |
---|---|
date | Mon, 18 Mar 2019 19:31:45 +0300 |
parents | 7546bf46bfcd |
children | b137a6793c51 |
files | mercurial/branchmap.py mercurial/localrepo.py mercurial/revset.py |
diffstat | 3 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/branchmap.py Mon Mar 18 19:11:55 2019 +0300 +++ b/mercurial/branchmap.py Mon Mar 18 19:31:45 2019 +0300 @@ -175,6 +175,10 @@ def iteritems(self): return self.entries.iteritems() + def hasbranch(self, label): + """ checks whether a branch of this name exists or not """ + return label in self.entries + @classmethod def fromfile(cls, repo): f = None
--- a/mercurial/localrepo.py Mon Mar 18 19:11:55 2019 +0300 +++ b/mercurial/localrepo.py Mon Mar 18 19:31:45 2019 +0300 @@ -1556,7 +1556,7 @@ return scmutil.revsymbol(self, key).node() def lookupbranch(self, key): - if key in self.branchmap().entries: + if self.branchmap().hasbranch(key): return key return scmutil.revsymbol(self, key).branch() @@ -2730,7 +2730,7 @@ if branch is None: branch = self[None].branch() branches = self.branchmap() - if branch not in branches.entries: + if not branches.hasbranch(branch): return [] # the cache returns heads ordered lowest to highest bheads = list(reversed(branches.branchheads(branch, closed=closed)))
--- a/mercurial/revset.py Mon Mar 18 19:11:55 2019 +0300 +++ b/mercurial/revset.py Mon Mar 18 19:31:45 2019 +0300 @@ -555,7 +555,7 @@ if kind == 'literal': # note: falls through to the revspec case if no branch with # this name exists and pattern kind is not specified explicitly - if pattern in repo.branchmap(): + if repo.branchmap().hasbranch(pattern): return subset.filter(lambda r: matcher(getbranch(r)), condrepr=('<branch %r>', b)) if b.startswith('literal:'):