JavaCVS

What is CVS?

CVS stands for Concurrent Version System and allows multiple developers to work on a common set of files which are stored on a server. The files stored on the server are referred to as the repository . Developers can "checkout"  files from the repository to get their own copy of  the files.  A developer can then "checkin" their changes to the repository. CVS merges all the changes made by developers and keeps track of all the versions of the files. For a more information on CVS please see the following site:  http://www.cvshome.org
 

What is JavaCVS?

JavaCVS is an implementation of CVS in Java (surprise surprise). liscensed under the GPL It implements the CVS protocol for communicating with a CVS server.  It does not implement the server side of CVS. The aim is to provide a cross platform CVS client that supports all the features of the standard Unix CVS command and more but is developed in an object oriented way.  This will allow Java applications  to easily integrate CVS support. Traditionally, CVS is used from a command line which can be intimidating for new users to get to grips with. Whilst JavaCVS will provide a command line version which is compatible with the Unix CVS command, it will also provide a powerful and extensible Graphical User Interface (GUI) to CVS.
 

When will it be ready?

JavaCVS is currently in early development and design although many of the CVS commands are now supported and it can also display differences between files graphically. It is anticipated that by September 2001 a beta version will be available supporting most common functionality.
 

Where can I get it?

An early precompiled alpha version is available here .  The latest source code is available by CVS from the CVS repository for JavaCVS .
 

What documentaion is available?

The javadoc generated APIs can be viewed here .
 

Screen shots

Here is the main window. This will change quite drastically when I add some nice icons and the menu bar. Still a work in progress but it gives you an idea....

main window
 

This screen shot shows the difference options dialog:

Here is a screen shot of Java CVS showing the differences between a repository revision of a file and the local working copy. This was produced using the -gui option to the diff command (an option not supported in the standard CVS command). I have set up an alias called jcvs which invokes the command based interface to JavaCVS. The full command type was "jcvs diff -gui":

Differences window

SourceForge Logo