Mercurial > evolve
changeset 2000:c413e7c96265
init: guard _namemap with repo.topics (issue5351)
This prevents reading extra data on all repo commits
when there is no topic for a given name.
_namemap is called a lot, and it is often called for commit
shas -- which should pretty much never be names of topics...
author | timeless@gmail.com |
---|---|
date | Fri, 26 Aug 2016 16:57:45 +0000 |
parents | fe76e9c92fff |
children | ddfc87788d5c |
files | hgext3rd/topic/__init__.py |
diffstat | 1 files changed, 2 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/topic/__init__.py Fri Aug 26 16:52:02 2016 +0000 +++ b/hgext3rd/topic/__init__.py Fri Aug 26 16:57:45 2016 +0000 @@ -84,6 +84,8 @@ msg = _('cannot resolve "%s": topic "%s" has only %d changesets') raise error.Abort(msg % (name, topic, len(revs))) return [repo[r].node()] + if not name in repo.topics: + return [] return [ctx.node() for ctx in repo.set('not public() and extra(topic, %s)', name)]