remove support for hex prefixes in rhg?
There are some differences between revset resolution done by rhg and by python hg.
For example, rhg does not support things like tags and bookmarks. However, it still supports hex prefixes.
This makes rhg behavior non-conservative.
For example, if there is a tag
cafe and a revision starting with hex prefix
cafe, then rhg and python hg will disagree on what
cafe resolves to.
It seems that to unify behavior between rhg and python hg, only two solutions are possible:
- add support to tags, bookmarks, etc. to rhg
- remove support for hex prefixes from rhg
- change revset language in python hg
I don't know how much work (1) is, so it would seem that (2) is the way to go, at least in the short term, yes? I'm happy to make the change if there's consensus on this.
I'm assuming (3) is not feasible, I'm only bringing it up in case there's an existing work in that direction that I'm not aware of. (after all, the tests of existing hg behavior are in file
test-revset-legacy-lookup.t, which has the word "legacy" in it).
If we're removing support for "naked" hex prefixes, maybe it makes sense to, at the same time, introduce support for revsets of the form
id(deadbeef), so that the applications that use hex prefixes can still benefit from rhg? (assuming a similar issue will not arise there)