|Consortium Solutions Middleware Forge MyObjectWeb|
How to use CVS?
This tutorial will give you short explanations for using basic
functions of CVS.
Table of Contents
This project's SourceForge CVS repository can be checked out
through anonymous (pserver) CVS with the following instruction
$ cvs -d:pserver:firstname.lastname@example.org:/cvsroot/openccm login
The module you wish to check out must be specified as the ModuleName.
$ cvs -z3 -d:pserver:email@example.com:/cvsroot/openccm checkout <ModuleName>
Only project developers can access the CVS tree via this
$ export CVS_RSH=ssh # For bash shells. $ setenv CVS_RSH ssh # For csh shells.
Substitute ModuleName and DeveloperName
with the proper values.
$ cvs -z3 -d:ext:<DeveloperName>@cvs.openccm.forge.objectweb.org:/cvsroot/openccm checkout <ModuleName>
To avoid having to type your password every time for your
CVS/SSH developer account, you may upload your public key(s)
here and they will be placed on the CVS server in your
First you have to login at the ObjectWeb Forge Page.
To generate a public key, run the program '
You have just to copy and paste the content of the
Now you can use CVS command without entering your SourceForge password.
The following list gives you the names of modules used in the OpenCCM project:
This part will present you the most used commands of CVS:
Create or update a working directory containing copies of the
source files specified by modulename.
Note that running
$ cvs checkout <ModuleName>
$ cvs commit [files]
or you could use
$ cvs commit -m "log message" [files]
After you've run checkout
to create your own copy of source from the common
repository, other developers will continue changing the central
source. From time to time, when it is convenient in your
development process, you can use the
$ cvs update [DirectoryName]
Schedule files to be added to the repository.
$ cvs add <FileName>
next you validate the modification in the repository:
$ cvs commit -m "First version"
Directories change. New files are added, and old files disappear. Still, you want to be able to retrieve an exact copy of old releases.
$ rm Res1.java Res2.java $ cvs remove $ cvs commit -m "Removed unneeded files"
The move command is a combinaison of
$ mv old.java new.java $ cvs remove old.java $ cvs add new.java $ cvs commit -m "Moving from old.java to new.java" old.java new.java
Sometimes, we want to define for example a stable state of the project in order to access to it later even if the state will evolve. This is a way to define a form of release version of the project.
$ cvs tag -c openccm-0-4
For example, for retrieving an old version, you can use the command:
$ cvs export -r openccm-0-4 <ModuleName>
Indicates that a Module is no longer in use.
This command is meant to safely cancel the effect of
$ cvs release <directories>
The -d option deletes your working copy of the file if the release succeeds. If this flag is not given your files will remain in your working directory.
$ cvs release -d <directories>
This command is a variant of
$ cvs export -r <tag> <ProjectName>
or you could use
$ cvs export -D <date> <ProjectName>
The possible options for export are:
Displays log information for files (version, date, ...)
$ cvs log [files]
CVSweb a simple Web interface for browsing CVS Repositories. You can a use diff function which shows you modifications between two versions of a same file. You can access to file annotations and file source code.
LinCVS acts as a reliable (!) graphical frontend for the CVS-client supporting both CVS-versions 1.9 and 1.10, perhaps even older ones.... It allows you to check out a module from and import of a module to a repository, to update or retrieve the status of a working directory or single files and common operations like add, remove and commit, diff against the repository or view of the log messages in list form.
Cervisia is a graphical frontend for the CVS client. It provides access to the following features:
Cervisia is distributed freely under the Q Public License.
Pharmacy intends to be a GNOME compliant front-end to CVS for free operating systems, such as Linux and FreeBSD. Currently, it provides a limited user interface to CVS commands and a "console" for the lazy power-user.
TkCVS is a Tcl/Tk-based graphical interface to the CVS configuration management system. It displays the status of the files in the current working directory, and provides buttons and menus to execute CVS commands on the selected files. TkDiff is included for browsing and merging your changes.
TkCVS extends CVS with a method to produce a browsable, "user friendly" listing of modules in the repository. This requires that the CVSROOT/modules file actually lists some modules. Additional comment fields can be added to make the browser more informative.
TkCVS runs on Unix (including Darwin) and on Windows.
jCVS is a CVS client package written entirely in Java.
JCVS provides a complete CVS client/server protocol package that allows any Java program to implement the complete suite of CVS operations. JCVS also provides a Swing based client that provides a commercial quality GUI client for CVS. Finally, jCVS provides a Servlet that allows any Servlet enabled web server to present any CVS repository on the Internet for browsing and download.
Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2005-07-07 02:04 PM