Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templatefuncs.py @ 37680:e743b8524d60
scmutil: introduce shortesthexnodeidprefix()
We have scmutil.resolvehexnodeidprefix() for resolving a prefix to a
full nodeid, so it makes sense to have the inverse method next to
it. For now it just delegates to changelog.shortest(), but it will
soon also make sure it's called on the unfiltered repo, to match
resolvehexnodeidprefix().
Note that the change in show.py also makes it so the conversion from
revnum to nodeid is done on the filtered repo, but that should be
inconsequential since the revs are all from the filtered repo anyway.
Differential Revision: https://phab.mercurial-scm.org/D3370
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 13 Apr 2018 22:55:01 -0700 |
parents | f83cb91b052e |
children | 8e8541610d85 |
line wrap: on
line diff
--- a/mercurial/templatefuncs.py Fri Apr 13 11:00:30 2018 -0700 +++ b/mercurial/templatefuncs.py Fri Apr 13 22:55:01 2018 -0700 @@ -590,8 +590,8 @@ # _partialmatch() of filtered changelog could take O(len(repo)) time, # which would be unacceptably slow. so we look for hash collision in # unfiltered space, which means some hashes may be slightly longer. - cl = context.resource(mapping, 'ctx')._repo.unfiltered().changelog - return cl.shortest(node, minlength) + repo = context.resource(mapping, 'ctx')._repo + return scmutil.shortesthexnodeidprefix(repo.unfiltered(), node, minlength) @templatefunc('strip(text[, chars])') def strip(context, mapping, args):