From patchwork Sat Aug 4 06:44:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D4042: shortest: use 'x' prefix to disambiguate from revnum if configured From: phabricator X-Patchwork-Id: 33228 Message-Id: <4cf531f7ae127c44340bfda4a8e38655@localhost.localdomain> To: mercurial-devel@mercurial-scm.org Date: Sat, 4 Aug 2018 06:44:28 +0000 This revision was automatically updated to reflect the committed changes. Closed by commit rHGa01200b25da6: shortest: use 'x' prefix to disambiguate from revnum if configured (authored by martinvonz, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D4042?vs=9890&id=9897 REVISION DETAIL https://phab.mercurial-scm.org/D4042 AFFECTED FILES mercurial/scmutil.py tests/test-template-functions.t CHANGE DETAILS To: martinvonz, #hg-reviewers, lothiraldan Cc: mercurial-devel diff --git a/tests/test-template-functions.t b/tests/test-template-functions.t --- a/tests/test-template-functions.t +++ b/tests/test-template-functions.t @@ -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) diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -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]