1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

CVS permissions management

CVS service is provided on an opt-in basis to SourceForge.net-hosted projects, and must be enabled before first use. Once CVS service has been enabled, CVS permissions may be managed.

Read permissions

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.

Write permissions

Permission to write to a repository may be granted to a project developer by a project administrator.

To grant or revoke CVS repository write permission on a developer:

  1. Login as an administrator and go to the Project Summary page.
  2. From the Admin menu pulldown, select the Members option.
  3. Click on the name of the desired developer.
  4. 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:

  1. Checkout a copy of the 'CVSROOT' module
  2. Create a file with the name 'avail' in the 'CVSROOT' module with the contents as described below
  3. Edit the 'checkoutlist' file and add an entry for 'avail' on its own line (without the quotes)
  4. Commit the changes to the repository
  5. Edit the 'commitinfo' file and add the entry as described below
  6. 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:

unavail
avail|YOUR_USERNAME

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:

ALL /cvsroot/sitedocs/CVSROOT/cvstools/cvs_acls

If you make a big mistake during your cvs_acls deployment, you can use the interactive shell service to manually fix your repository.

Getting Help