Mercurial > hg-stable
changeset 38895:a01200b25da6
shortest: use 'x' prefix to disambiguate from revnum if configured
Differential Revision: https://phab.mercurial-scm.org/D4042
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 16 Apr 2018 23:49:38 -0700 |
parents | 7848f284b211 |
children | 96d0795bd0bd |
files | mercurial/scmutil.py tests/test-template-functions.t |
diffstat | 2 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/scmutil.py Sun Apr 29 10:07:40 2018 -0700 +++ b/mercurial/scmutil.py Mon Apr 16 23:49:38 2018 -0700 @@ -490,6 +490,12 @@ def disambiguate(prefix): """Disambiguate against revnums.""" + if repo.ui.configbool('experimental', 'revisions.prefixhexnode'): + if mayberevnum(repo, prefix): + return 'x' + prefix + else: + return prefix + hexnode = hex(node) for length in range(len(prefix), len(hexnode) + 1): prefix = hexnode[:length]
--- a/tests/test-template-functions.t Sun Apr 29 10:07:40 2018 -0700 +++ b/tests/test-template-functions.t Mon Apr 16 23:49:38 2018 -0700 @@ -892,6 +892,11 @@ $ hg log -r 4 -T '{rev}:{shortest(node, 0)}\n' --hidden 4:107 + $ hg --config experimental.revisions.prefixhexnode=yes log -r 4 -T '{rev}:{shortest(node, 0)}\n' + 4:x10 + $ hg --config experimental.revisions.prefixhexnode=yes log -r 4 -T '{rev}:{shortest(node, 0)}\n' --hidden + 4:x10 + node 'c562' should be unique if the other 'c562' nodes are hidden (but we don't try the slow path to filter out hidden nodes for now)