You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Justin Johnson <ju...@gmail.com> on 2006/11/16 15:55:33 UTC

svnperms.conf for multiple project repository layout

Hello,

I am trying to setup svnperms.conf for a repository with the multiple
project layout, so that any team member can define a new top level project
directory and its trunk, tags, and branches directories, but then be limited
based on the permissions below.  The following seems like it should work,
but it doesn't allow any access.  If I replace the beginning [^/]+ with one
of the project names it works correctly for that project.  Does anyone know
what I am doing wrong?

Thanks,
Justin

[my_repos]
[^/]+/                                  = *(add,remove,update)
[^/]+/trunk/                            = *(add,remove,update)
[^/]+/tags/                             = *(add,remove,update)
[^/]+/branches/                         = *(add,remove,update)
[^/]+/trunk/.*                          = *(add,remove,update)
[^/]+/tags/REL-[\d\.]+/                 = *(add)
[^/]+/tags/BLD-[\d\.]+/                 = *(add)
[^/]+/tags/(PRE|POST)-[\d]+/            = *(add)
[^/]+/branches/RB-[\d\.]+\.x/.*         = *(add,update)
[^/]+/branches/BUG-[\d]+/.*             = *(add,update)
[^/]+/branches/TRY-[A-Z0-9]+-[\w\-]+/.* = *(add,update)
vendorsrc/.*                            = *(add,remove,update)

Re: svnperms.conf for multiple project repository layout

Posted by Justin Johnson <ju...@gmail.com>.
On 11/16/06, Justin Johnson <ju...@gmail.com> wrote:
>
> Hello,
>
> I am trying to setup svnperms.conf for a repository with the multiple
> project layout, so that any team member can define a new top level project
> directory and its trunk, tags, and branches directories, but then be limited
> based on the permissions below.  The following seems like it should work,
> but it doesn't allow any access.  If I replace the beginning [^/]+ with one
> of the project names it works correctly for that project.  Does anyone know
> what I am doing wrong?
>
> Thanks,
> Justin
>
> [my_repos]
> [^/]+/                                  = *(add,remove,update)
> [^/]+/trunk/                            = *(add,remove,update)
> [^/]+/tags/                             = *(add,remove,update)
> [^/]+/branches/                         = *(add,remove,update)
> [^/]+/trunk/.*                          = *(add,remove,update)
> [^/]+/tags/REL-[\d\.]+/                 = *(add)
> [^/]+/tags/BLD-[\d\.]+/                 = *(add)
> [^/]+/tags/(PRE|POST)-[\d]+/            = *(add)
> [^/]+/branches/RB-[\d\.]+\.x/.*         = *(add,update)
> [^/]+/branches/BUG-[\d]+/.*             = *(add,update)
> [^/]+/branches/TRY-[A-Z0-9]+-[\w\-]+/.* = *(add,update)
> vendorsrc/.*                            = *(add,remove,update)
>

I found the problem.  svnperms.py line 17 says

SECTION = re.compile(r'\[([^]]+?)(?:\s+extends\s+([^]]+))?\]')

If I change by adding ^ to the front and $ to the end of the match, we only
match real sections, and not lines that happen to contain that pattern match
in part of the string.

SECTION = re.compile(r'^\[([^]]+?)(?:\s+extends\s+([^]]+))?\]$')

What is the approiate way to request that this be fixed?  Is this small
enough that someone can just make the change for me, or should I submit a
bug report?

Justin