SwingCVS - Simple CVS GUI

The idea is to make a really simple GUI front end that optinally can be used on top of CVS from UNIX shell. The GUI shall only support CVS functions that benefit much from a GUI view. The primary benefit of a GUI view is that files, folders and folder subtrees can be specified quickly (compared to from shell) and that CVS status can be browsed quickly using file/folder icons.

CVS operations must be able to be performed on different subsets of the CVS tree. Subsets shall be defined by,

The GUI shall be a typical "Windows Explorer" view with a folder tree view on the left and folder contents on the right. The GUI shall be implemented in Java SE.

All cvs operations shall be implemented as UNIX shell commands which are called from Java GUI. This means the the application assumes a fully functional CVS installation as many operations is assumed to be done on command line. PicoCVS will also use the cvs commands directly as as backend. The following CVS commands should be supported via PicoCVS.

The target platform is UNIX with CVS and Java SE support.

Architecture

The solution is divided in the following parts;

Selector / GUI

Selects which files to operator and which CVS operation. This is implemented using a Java Swing UI. Also settings for later stages are entered through this GUI.

The GUI shall consist of a tree view on the left and a file view on the right. Some characteristics are the following;

Finder

This part is responsible for locating the files that the CVS operation shall operate on. This part is implemented through a UNIX script. Input (provided from GUI) to finder are;

Executor

This part is responsible for executing the CVS command. This part is implemented through a UNIX script and relies on basic CVS implmentation in UNIX. Input (provided from GUI) to executir are;

Conflict analysis

This part is responsible for formatting the output from the CVS command and possibly conflicts. The output is presented in GUI in a simple human readable format.

References