 | Level: Introductory Rational staff, Staff, IBM
05 Jan 2004 If the command line for CVS intimidates you, consider using a graphical client. There aren't many ways for the administrator of a CVS site to get around the command line, but for the users of the repository it needn't be so black and white. CVS is a client/server technology, and there are graphical tools that take advantage of that protocol.
jCVS is a graphical client program for CVS written in Java. It takes advantage of Swing and
JavaHelp, so it looks nic, not clunky like some of the first-generation Java applications. It can
run anywhere that you have a Java 1.1 or later Virtual Machine. jCVS can manage multiple
projects, representing each project as a folder in its workbench. Double-clicking on a project
logs you on to the server, and gives you a document listing of the files you've checked out of
the server. Examine files, edit them with your preferred editor, and then check them back in to
the server.
Two other clients to look at are MacCVS Pro and WinCVS. MacCVS Pro uses a Finder-like
interface that will seem familiar to Mac users. This product is a part of the Open Source
software released by Netscape when it released Navigator. Of all the clients I've looked at, it
seems the best documented and presumes the least amount of knowledge about CVS. The
developers at Netscape did a great job of giving CVS a Macintosh style. WinCVS has a
Microsoft Windows feel to it, with a bewildering number of options on the menu bar.
Fortunately, this project has recently gained some documentation for its many features and
there's a strong mailing-list support group to help you out if you get stuck.
The CVS repository contains information that begs to be browsed online: revision histories,
comments on files, and who's responsible for the latest mess on your Web pages. There are
ways to display it on the Web, so you don't have to fire up a CVS client just to find
information in the repository. There are actually several tools to do this, including a
servlet-based version of jCVS. jCVSlet is only in beta and the documentation is practically
nonexistent, but it looks very sharp and can be tailored to your specific needs. Another option
is Bonsai. Bonsai was created by Netscape and later released to the Open Source community.
Bonsai can be given queries to narrow down what it displays. You can zero in on the work of
one developer or changes made in a certain date to a specific section of your source tree.
Bonsai is feature rich, and its documentation is a bit better than jCVS¹s, but not a lot better.
For a very large project it might be worthwhile to set up one of these.
cvsweb is much easier to install. It's a Perl-based CGI program. Copy it to
your cgi directory, edit a configuration file, and you should be up and running.
It is not as feature rich as the jCVS servlet or Bonsai, and your repository
has to be on the same system as the CGI program, but it will work for most of
your needs. The original cvsweb was written by Bill Fenner for the FreeBSD project.
Several variations of cvsweb have been written that have added features. One
of the most popular variants is the one written by Henner Zeller and Henrik
Nordstrom. Their enhancements include the ability to annotate files in
the repository and color-highlighted comparisons of different versions of files.
Links to all of these tools can be found from Cyclic's CVS User Interfaces page at www.cyclic.com/cyclic-pages/software.html.
About the author  | |  | This article is brought to you by the Rational staff at developerWorks. |
Rate this page
|  |