Mercurial > hg-stable
changeset 44490:6d953b3fc2bd
git: make {shortest()} return shortest *unique* prefix
It used to return the prefix of the specified length as long as the
full node was unique (i.e. always).
Differential Revision: https://phab.mercurial-scm.org/D8256
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 06 Mar 2020 14:14:05 -0800 |
parents | ad718271a9eb |
children | 7518ea76eff4 |
files | hgext/git/gitlog.py tests/test-git-interop.t |
diffstat | 2 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/git/gitlog.py Tue Feb 11 00:44:59 2020 -0500 +++ b/hgext/git/gitlog.py Fri Mar 06 14:14:05 2020 -0800 @@ -170,7 +170,7 @@ matches = int( self._db.execute( 'SELECT COUNT(*) FROM changelog WHERE node LIKE ?', - (pycompat.sysstr(nodehex + b'%'),), + (pycompat.sysstr(candidate + b'%'),), ).fetchone()[0] ) if matches == 1:
--- a/tests/test-git-interop.t Tue Feb 11 00:44:59 2020 -0500 +++ b/tests/test-git-interop.t Fri Mar 06 14:14:05 2020 -0800 @@ -180,10 +180,6 @@ summary: Add beta -node|shortest works correctly - $ hg log -r tip --template "{node|shortest}\n" - 6626 - hg annotate $ hg annotate alpha @@ -221,3 +217,15 @@ nothing to commit, working tree clean $ hg status + +node|shortest works correctly + $ hg log -T '{node}\n' | sort + 3d9be8deba43482be2c81a4cb4be1f10d85fa8bc + 6626247b7dc8f231b183b8a4761c89139baca2ad + a1983dd7fb19cbd83ad5a1c2fc8bf3d775dea12f + ae1ab744f95bfd5b07cf573baef98a778058537b + c5864c9d16fb3431fe2c175ff84dc6accdbb2c18 + d8ee22687733a1991813560b15128cd9734f4b48 + $ hg log -r ae1ab744f95bfd5b07cf573baef98a778058537b --template "{shortest(node,1)}\n" + ae +