On Sat, 07 Jan 2017 22:55:02 -0500, Sean Farley <s...@farley.io> wrote:

Matt Harbison <mharbiso...@gmail.com> writes:

# HG changeset patch
# User Matt Harbison <matt_harbi...@yahoo.com>
# Date 1483842392 18000
#      Sat Jan 07 21:26:32 2017 -0500
# Node ID 7347f75339503a8266285ac12412ac5f104d4df0
# Parent  4ab19763d71c2bb9a239dff523b18ed860e34563
revset: add regular expression support to 'desc()'

The legacy behavior of doing a case insensitive match for literals is preserved for BC. This includes with the new 'literal:' prefix for user simplicity.

There are two other revsets that do case insensitive matches- 'user()' (and its alias 'author()'), and 'keyword()'. The 'keyword()' predicate only supports literals, so its behavior isn't interesting right now. The 'user()' predicate is documented to support regex, but ends up lowercasing both the needle and the haystack, effectively making it a case insensitive regex. That surprised me, since it's the only instance of that behavior. I'm not sure if this should conform to that because we are stuck with BC, or if that should be considered a bug and changed. If we can't change it, that probably precludes adding an
insensitive regex matcher [1].

[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-January/092070.html

I was a bit confused before because I was mixing up templates with
revsets. If I follow your previous patch, you want to have a revset that
just searches the first line of the description, correct?

Correct.

If that's correct, it would seem that our choices with template
functionality might be a precedent for this, no?

Ideally. But I'm not sure how to apply that here. Are you suggesting a new predicate 'firstline()' (instead of 'summary')? I assumed the template filter was generically named because it's a generic filter (though realistically I'm not sure what else you would want to limit to the first line).

If you mean the filtering functionality ("{desc|firstline}"), I'm not sure how that helps. Obviously you can filter _revisions_ by chaining predicates, but what this needs to do is narrow down the _field_ being tested within one predicate. I don't know of any revset mechanism to do that.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to