> On Feb 13, 2018, at 6:27 AM, Yuya Nishihara <y...@tcha.org> wrote:
> 
>> On Mon, 12 Feb 2018 22:17:35 -0500, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbi...@yahoo.com>
>> # Date 1518488713 18000
>> #      Mon Feb 12 21:25:13 2018 -0500
>> # Node ID e99e6917138593d2dddf7e0f5506dbd3f6c87743
>> # Parent  9b5df6e19a4f308e14703a8136cd0530c1e1d1a9
>> minifileset: allow 'path:' patterns to have an explicit trailing slash
>> 
>> We allow for it on the command line, with `hg status`, for example.  I 
>> thought
>> that I copied this "n.startswith(p) and (len(n) == pl or n[pl] == '/')" 
>> pattern
>> from somewhere, but I don't see it now.
>> 
>> diff --git a/mercurial/minifileset.py b/mercurial/minifileset.py
>> --- a/mercurial/minifileset.py
>> +++ b/mercurial/minifileset.py
>> @@ -26,7 +26,7 @@
>>                     raise error.ParseError(_('reserved character: %s') % c)
>>             return lambda n, s: n.endswith(ext)
>>         elif name.startswith('path:'): # directory or full path test
>> -            p = name[5:] # prefix
>> +            p = name[5:] if name[-1] != '/' else name[5:-1] # prefix
> 
> Doesn't it mean 'a/' matches 'a'?

Yes. (But 'a' won’t match 'ab'.)  Basically, I spent some time last week 
writing ignore rules for some converted repos, and got into the habit of 
appending a trailing '/' to ensure the match is a directory, and not just a 
substring.  When I did that here, it took awhile to figure out why the path was 
being ignored.  ('path:' only matches directories)

> Can't we reuse some parts of the match module to build a function or regexp
> from a pattern string?

Probably.  I’ve seen a couple cases where a regex pattern would be useful.  I 
just assumed those other match types were part of the performance concern that 
was the reason for splitting out the mini language in the first place.

_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to