On 20.02.2017 17:17, Julian Foad wrote:
> Branko Čibej wrote:
>> On 20.02.2017 11:23, Julian Foad wrote:
>>> (I noticed a suboptimal edge case: the above example doesn't match the
>>> path '/alpha', because the implementation adds a leading slash to the
>>> specified pattern, making '/*/alpha', and then insists on matching
>>> both slashes literally.)
>>
>> This is a bug.
>
> Actually, adding the leading slash is not really relevant. The more
> general case is that pattern "/trunk/*/README" won't match path
> "/trunk/README", as a consequence of not treating slash as special in
> paths. A user might well expect it to match, knowing that the pattern
> "/trunk//README" *will* match due to our canonicalizing the input
> patterns before matching. So there is an inconsistency there.
But the user didn't write /trunk//README, she wrote /trunk/*/README
which can't be canonicalized to /trunk/README. Remember these are not
paths but glob patterns, if we started "canonicalizing" them it'd be --
well, interesting -- to try to avoid side effects.
-- Brane
Received on 2017-02-21 19:15:21 CET