jCVS Frequently Asked Questions


1.1) What is jCVS?

jCVS is a Java application that provides a GUI client for CVS. When you combine jCVS with a CVS server, you have a powerful source code management system.

1.2) What is CVS?

CVS (Concurrent Versions System) is a version control system. Using it, you can record the history of your source files. CVS uses the RCS revision control system to manage the source.

For example, bugs sometimes creep in when software is modified, and you might not detect the bug until a long time after you make the modification. With CVS, you can easily retrieve old versions to see exactly which change caused the bug. This can sometimes be a big help.

You could of course save every version of every file you have ever created. This would however waste an enormous amount of disk space. CVS stores all the versions of a file in a single file in a clever way that only stores the differences between versions. This is accomplished with RCS.

CVS also helps you if you are part of a group of people working on the same project. It is all too easy to overwrite each others' changes unless you are extremely careful. Some editors, like GNU Emacs, try to make sure that the same file is never modified by two people at the same time. Unfortunately, if someone is using another editor, that safeguard will not work. CVS solves this problem by insulating the different developers from each other. Every developer works in his own directory, and CVS merges the work when each developer is done.

CVS started out as a bunch of shell scripts written by Dick Grune, posted to comp.sources.unix in the volume 6 release of December, 1986. While no actual code from these shell scripts is present in the current version of CVS much of the CVS conflict resolution algorithms come from them.

In April, 1989, Brian Berliner designed and coded CVS. Jeff Polk later helped Brian with the design of the CVS module and vendor branch support.

1.3) What is RCS?

RCS is a revision control system that allows you to manage changes to a file. Typically, RCS is used to manage changes to source code. RCS provides for a number of version tracking mechanisms, including version names, variable substitution, and version differencing.

1.4) What is GNU?

GNU is Not Unix. The Free Software Foundation is the vision of Richard Stahlman. Nothing I could say could add to the GNU web site.

1.5) Where do I find jCVS?

At the jCVS Home Page.

1.6) Where do I find CVS?

One place to start is at Cyclic Software. You can also FTP from the GNU sources at prep.ai.mit.edu.

1.7) Where do I find CVS?

One means of getting RCS is to FTP from the GNU sources at prep.ai.mit.edu. The sources are also maintained at many sites around the world. Try to get version 5.7 or later.

1.8) How is jCVS licensed?

jCVS is licensed under the GNU General Public License.

1.9) Where do I find the GNU home page?

At the GNU Home Page at http://www.gnu.org.

2.1) What is required to run jCVS?

You need a CVS Server to connect to, and a Java interpretter to run jCVS. The Java version must be later than 1.1.

2.2) What version of CVS does jCVS require?

At least version 1.6, but I strongly recommend that you use version 1.9 or later.

2.3) How do I setup the CVS server?

You have several options. I recommend the pserver method, but many people run the server method. Many people like running the server on a Linux system. I run my server on a Dec Alpha running OSF. For more details, see the cvs distribution.

2.4) Do I want to use 'server', 'pserver', or 'kserver'?

Again, I strongly recommend the pserver method. This method is more secure than the server method. At this time jCVS does not support the kserver method, so it is not an option. The 'direct TCP method' is not recommended, and should only be used in environments where its lack of security is well understood.

3.1) When I start jCVS, I see "can not find class java/lang/Thread".

This is the result of the Java interpretter not being able to find the basic java classes. Typically, these classes are retrieved from the classes.zip file located in the 'lib' directory in your Java installation. If you are not setting the 'CLASSPATH' environment variable, or including the '-classpath' option to java, you may wish to try that first. Refer to the Installation page for more details on how to invoke Java to run jCVS.

3.2) When I start jCVS, I see "can not find class CVSApplication".

This is the result of the Java interpretter not being able to find the main class of the jCVS application, 'CVSApplication'. This is the result of the file 'jcvs.jar' not being in the class path used by java to find classes. Again, refer to the Installation page for more details on how to invoke Java to run jCVS.
$Id: FAQ.html,v 2.2 1997/04/21 05:02:59 time Exp $
Copyright (c) 1997 By Timothy Gerard Endres
jCVS is licensed to you under the GNU General Public License.