On 07/29/2014 06:46 AM, Branko Čibej wrote:
> If we want to
> support wildcards, we /have/ to invent a different syntax for wildcard
> rules. My working proposal is to add a literal '*' before the leading
> slash in the path:
> 
>     [*/fspath-pattern]
>     [repos:*/fspath-pattern]
> 
> because neither of these syntaxes are currently valid. We can invent a
> different syntax, as long as it maintains that property; and we cannot
> replace the brackets around the rule with something else, without making
> very intrusive changes in the config parser code.

I like this.  I would suggest using '*:' as your magic prefix, though.
That way, the '*' is less likely to be mistaken for part of the match
pattern itself.

  # Match 'private' directories withing the tags of all repositories.
  [*:/tags/*/private]

Also, in this mode, the match pattern needn't start with '/', right?

  # Match any item named "public" regardless of tree depth.
  [repos:*:*/public]

This leaves open the possibility of a future additional match mode for
regular expressions (using the '^:' magic prefix) should we seek to "go
there".

  # Match the trunk and branches subdirs and their children.
  [repos:^:^/(trunk|branches)(/.*|$)$]

> If we decide that the config parser is fair game (since I'm already
> changing it to optimize the construction of the in-memory authz
> representation), we could, for example, pick
> 
>     {/fspath-pattern}
>     {repos:/fspath-pattern}

Ugh.  I'd *really* prefer not to have to reimplement basic .INI parsing
for various extra-Subversion tools that read and write authz files, such
as ViewVC.

Reply via email to