[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Re: Q: commit-access-control.cfg file

From: Brent Webster <brent.webster_at_liquidcomputing.com>
Date: 2006-05-16 15:35:03 CEST

Thanks Nick, some good pointers.

But ....
I've started by making the entire directory read-only and then added
read-write permission for these spec files. i.e.

        [Make everything read-only for all users]
        match = .*
        access = read-only

        [*.spec file only update]
        match = ^trunk/.+\.spec$
        users = brentwebster
        access = read-write

So when I commit the spec file, it now complains I don't have access at
the directory level. i.e.

[unix]$ svn commit -m "just testing"
Enter passphrase for key '/home/brentwebster/.ssh/id_rsa':
Sending test/cc.spec
Transmitting file data .svn: Commit failed (details follow):
svn: 'pre-commit' hook failed with error output:
/server/svn/repos/tools/hook-scripts/commit-access-control.pl: user
`brentwebster' does not have permission to commit to this path:
  trunk/test

Basically I want the remaining source in the 'test' directory to be
modified by the 'design' team while the packaging prime can't. I then
want the packaging prime to manage/modify any spec file in any
subdirectory so this write permission at the directory level can be a
real nuisance.

Any ideas? In the meantime, I'll try svnperms.py.

Brent

>>-----Original Message-----
>>From: Nick Thompson [mailto:nickthompson@agere.com]
>>Sent: May 16, 2006 5:06 AM
>>To: users@subversion.tigris.org
>>Subject: Re: Q: commit-access-control.cfg file
>>
>>On Monday 15 May 2006 21:14, Brent Webster wrote:
>>> Using commit-access-control.pl with
>>commit-access-control.cfg, I want
>>> to filter read-write access on a particular file extension.
>>> (i.e. *.spec). I want my packaging prime to be the only person to
>>> update the rpm spec files. Of course, these file are located at
>>> various directory levels.
>>>
>>> Tried
>>>
>>> [*.dd file only update]
>>> match = *.dd
>>> users = brentwebster
>>> access = read-write
>>>
>>> but it generated the error:
>>> svn: 'pre-commit' hook failed with error output:
>>> /server/svn/repos/tools/hook-scripts/commit-access-control.pl:
>>> config file
>>> `/server/svn/repos/playzone/hooks/commit-access-control.cfg'
>>> section `*.dd file only update' `match' regex `*.dd' does not
>>> compile: Quantifier follows nothing in regex; marked by <-- HERE in
>>> m/* <-- HERE .dd/ at
>>> /server/svn/repos/tools/hook-scripts/commit-access-control.pl line
>>> 160.
>>>
>>> I tried various other regex but they failed so what am I missing?
>>> escape characters, good documentation, what?
>>
>>I'm not a commit-access-control.pl user, let alone an expert,
>>but for regular expressions in general (as opposed to command
>>line globbing) an '*' on its own doesn't mean anything. Your
>>match in regexp speak should be something like:
>>
>> .*\.dd
>>
>>The first '.' means any character. The '*' modifies this to
>>mean any number of any character (possible even zero). Then
>>the second '.' is escaped with a '\'. Finally the dd extension.
>>
>>Possible '.+\.dd' might be better + = one or more.
>>
>>
>>--
>>> Nick Thompson
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>>For additional commands, e-mail: users-help@subversion.tigris.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue May 16 15:36:42 2006

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.