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