On Friday 02 of January 2009 22:53:36 Robin H. Johnson wrote:
> On Fri, Jan 02, 2009 at 01:40:09PM -0800, Alec Warner wrote:
> > How hard would it be to change permissions on the ,v file for this and
> > just run the use.local.desc updater as a user with different
> > privileges?
>
> It does have different permissions. It's the directory permissions that
> matter however. I already tried the file permissions. If we want to
> truly block it while not affecting commits to the rest of the directory,
> we need to add CVS ACLS, which I've been meaning to do, but just never
> got around to.
>
> CVS does (the short version):
> 1. Take a file-based lock (#A) for the target ,v file.
>    No writes permitted, reads are permitted.
> 2. Build the new version of the ,v in the temp space.
> 3. Copy the new version to a different name in the target directory.
> 4. Upgrade lock #A, no reads permitted now.
> 5. unlink the old ,v file
>    (the kernel checks the directory permissions, not the file perms).
> 6. rename the new file into place.
> 7. Release lock #A.

What about creating a hook that checks if commited file is the one in question 
and fails the commit, if true? I don't know much about cvs hooks, however in 
svn it would be simple to setup.

Reply via email to