[Bug 4553] New: revsetalias exact matches are ignored if characters are potential hexadecimal prefix

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Wed Feb 25 21:38:55 UTC 2015


http://bz.selenic.com/show_bug.cgi?id=4553

          Priority: normal
            Bug ID: 4553
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: revsetalias exact matches are ignored if characters
                    are potential hexadecimal prefix
          Severity: bug
    Classification: Unclassified
                OS: All
          Reporter: rm at fb.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 3.3
         Component: Mercurial
           Product: Mercurial

If a revsetalias is named in a way that "could be" a node hash prefix, the
revsetalias is ignored and the hash is shown instead.

$ hg --config revsetalias.ax='last(draft())' log -r ax
changeset:   12:c5112958ca32
bookmark:    bar
tag:         tip
parent:      8:f998c01bfce5
user:        Ryan McElroy <rmcelroy at fb.com>
date:        Sat Feb 21 09:53:09 2015 -0800
summary:     x

$ hg --config revsetalias.ac='last(draft())' log -r ac
changeset:   3:ac04a0a5f6e4
parent:      1:1ed0c93e01b8
user:        Ryan McElroy <rmcelroy at fb.com>
date:        Mon Feb 09 11:57:39 2015 -0800
summary:     more b


This is super unexpected behavior. Also, when the identifier is ambiguous:

$ hg --config revsetalias.a='last(draft())' log -r a
abort: 00changelog.i at a: ambiguous identifier!

Whoops! Seems to me that revsetaliases should always take precedence over node
prefixes.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list