Skip to main content

Giving CVS a Facelift

Rational staff, Staff, IBM
This article is brought to you by the Rational staff at developerWorks.

Summary:  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.

Date:  05 Jan 2004
Level:  Introductory
Activity:  195 views

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.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=2088
ArticleTitle=Giving CVS a Facelift
publish-date=01052004
author1-email=ibmrationalstaff@bogusemail.com
author1-email-cc=

Table of contents

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers