Introduction link
CVS, an acronym for Concurrent Versions System, is free software (GPL license) for version management, successor to SCCS. Although it is still widely used in the open source software domain, it is now obsolete with the arrival of its successor Subversion. Since it helps sources converge towards the same destination, we say that CVS manages concurrent versions. It can function both in command line mode and through a graphical interface. It consists of client modules and one or more server modules for exchange areas.
It’s worth noting that there are also decentralized software options like Bazaar, Darcs, Git, or Monotone, all under Open Source licenses.
Among the most popular graphical interfaces, notable ones include Cervisia for Linux and TortoiseCVS for Windows.
Prerequisites link
For prerequisites, you need a few things in your environment. I strongly recommend adding them to your shell load file (e.g., ~/.bashrc, ~/.zshrc):
1
2
| export CVS_RSH=/usr/bin/ssh
export CVSROOT=:ext:xxx@mycompany.com:/var/lib/cvs
|
In the first line, we need to indicate the transport method for CVS. In this case, it’s SSH.
For the second, we indicate the hostname where the CVS server is located, as well as the folder where the repository is located.
Reload your shell and you’re good to go.
Projects link
1
| cvs checkout project_name
|
- Updating a project after updates (this does not upload our updates):
- Creating a new project (make sure you’re in the concerned project first!):
1
| cvs import project_name creator release
|
1
| cvs release -d project_name
|
Adding Files link
1
| cvs commit files_to_update
|
- Updating files with comments at the same time:
1
| cvs commit -m "My comments" files_to_update
|
Removing Files link
To remove files, you need to:
- Delete the file on your local machine:
- Remove the file from cvs:
Identification link
- View differences between server modifications and your own:
Last updated
20 May 2007, 20:37 CEST. history