[[PageOutline]] = What is CVS? = CVS ([http://www.nongnu.org/cvs/ Concurrent Versions System]) is a [wiki:"What is Source Code Management?" Source Code Management] (SCM), a tool for software developers which supports collaborative development of software within a team, and the tracking of changes to software source code over time. CVS was the first [wiki:"What is Source Code Management?" SCM] supported at [wiki:"What is SourceForge.net?" SourceForge.net]. We generally recommend that new projects select a more modern SCM, like [wiki:Subversion], rather than using CVS. CVS has limitations which newer SCM solutions have been designed to overcome. We continue to support CVS for those projects who decide that CVS adequately supports their needs. CVS is used by developers, and advanced users who need the very latest changes to the software (before releases occur). Software users generally do not need CVS; typically they will [wiki:"Release files for download" download official file releases] made available by the project instead. Developers should familiarize themselves with CVS by reading [http://cvsbook.red-bean.com/ Open Source Development with CVS, 3rd Edition] and the [http://ximbiot.com/cvs/wiki/ Ximbiot - CVS Wiki]. = Features = [wiki:"What is SourceForge.net?" SourceForge.net] provides the following features in its [wiki:"CVS#WhatisCVS?" CVS] offering: * All [http://cyclic.com/cvs/info.html standard features of CVS 1.11.x] are supported. * [wiki:"CVS client instructions#Read-WriteAccess" Developer (read-write) access] is provided via CVS over SSH. * [wiki:"CVS client instructions#Read-OnlyAccess" Anonymous (read-only) access] is provided via CVS pserver. * A number of CVS clients are supported, including: * [wiki:"TortoiseCVS instructions" TortoiseCVS (MS Windows), which can be used in conjunction with PuTTY] * [wiki:"CVS client instructions" The official CVS client (Mac OS X, Linux, BSD), which can be used in conjunction with OpenSSH] * [wiki:"WinCvs instructions" WinCvs (MS Windows), which can be used in conjunction with PuTTY.] * Repositories may be viewed via web browser via [wiki:"ViewVC repository browser" ViewVC]. * Commit notifications may be made by email using [wiki:"CVS syncmail" CVS syncmail]. * [wiki:"CVS hook scripts" Pre-commit and post-commit scripts] are supported in several languages. * Permissions may be managed as follows: * [wiki:"CVS permissions management" Repository access may be granted or revoked from a developer using the Project Admin interface]. * [wiki:"CVS permissions management#Fine-grainedpermissioncontrol" Fine-grained access controls] may be implemented using cvs_acls. * Administrators may manage the repository at a filesystem level using our [wiki:"CVS#Access" Interactive shell service]. * Existing repositories may be imported using our [wiki:"CVS#Access" Interactive shell service]. * [wiki:"CVS#Backups" Repository backups and mirroring may be performed using rsync]. * Commit and checkout events are counted in the [wiki:"Project statistics" statistics system]. * Service usage is not restricted by [wiki:"Disk quotas" quotas]. = Management = CVS service may be enabled for your project as follows: 1. Login as a project administrator and go to the Develop page for your project. 1. Under the Project Menu pulldown menu, click Feature Settings. 1. Under the Available Features tab, check the Enabled checkbox. Your repository will be created within a few minutes. = Access = The standard way to modify the contents of your repository is using a [wiki:"CVS client instructions" CVS client]. CVS admins may also directly modify the repository contents via the [wiki:"Shell service" interactive shell service]. The [wiki:"CVS adminrepo" adminrepo command line tool] is used to manage CVS repositories; see `adminrepo --help` from within a project shell for more information on how to use [wiki:"CVS adminrepo" adminrepo]. = Backups = !SourceForge.net performs routine backups for all of our servers and will restore from these backups in the event of catastrophic server failure. We encourage projects to make their own backups of CVS data as that data restore can be performed by the project in the event of accidental data destruction by a member of the project team. Backups of a CVS repository may be made using [wiki:"Using rsync for backups" rsync]. Example (replace PROJECTNAME with the UNIX group name of your project): {{{ rsync -av rsync://PROJECTNAME.cvs.sourceforge.net/cvsroot/PROJECTNAME/* . }}} = Getting Help = * [wiki:"Support"] * [wiki:"Request an enhancement"] [[Include(__footer)]]