CVS permissions management
Read permissions to CVS repositories are granted to all users (including anonymous access). In the spirit of Open Source, source code should be available to everyone, so no means is provided to remove read access from a repository.
To grant or revoke CVS repository write permission on a developer:
- Login as an administrator and go to the Project Summary page.
- From the Admin menu pulldown, select the Members option.
- Click on the name of the desired developer.
- Check (for permission grant) the "Allow access to CVS repository (developer access)" checkbox and click on the "Update Developer Permissions" button. Permissions will be provided to the user in about a minute.
Fine-grained permission control
For fine-grained write permissions, cvs_acls is centrally installed and maintained on the CVS server by SourceForge.net staff. cvs_acls allows for per-module or per-directory or per-branch restriction of any CVS write operations that require a commit. cvs_acls does not block a user from creating a new module; the only way to do that is to block CVS access entirely.
To configure cvs_acls:
- Checkout a copy of the 'CVSROOT' module
- Create a file with the name 'avail' in the 'CVSROOT' module with the contents as described below
- Edit the 'checkoutlist' file and add an entry for 'avail' on its own line (without the quotes)
- Commit the changes to the repository
- Edit the 'commitinfo' file and add the entry as described below
- Commit the change to enable cvs_acls
The cvs_acls script contains a list of instructions in how to format the avail file, which we recommend you read:
cvs -d :pserver:sitedocs.cvs.sourceforge.net/cvsroot/sitedocs co CVSROOT/cvstools less CVSROOT/cvstools/cvs_acls
When you change the avail file, you need to be careful to ensure that you don't lose access to the repository. Starting with the following lines will make sure that you are fully authorized to continue making changes:
YOUR_USERNAME should be your SourceForge.net username, lowercase, as normal. Add a blank line at the end of the 'avail' file, cvs_acls expects a blank line at the end.
Add the following to the 'commitinfo' file after any existing text, as described above:
If you make a big mistake during your cvs_acls deployment, you can use the interactive shell service to manually fix your repository.