JRCS is a library that knows how to manipulate the archive files produced by the RCS and CVS version control systems.

JRCS is not intended to replace RCS nor CVS. JRCS was written to be able create archive analysis tools that can do things like identify hot spots in the source code, measure the contributions by each developer, or assess how bugs make it in.

The reasons why JRCS has the ability do do check-ins and save archives is API symmetry, and to simplify the writing of unit tests.

The {@link org.apache.maven.jrcs.rcs rcs} package implements th8e archive handling functionality. The entry point to the library is class {@link org.apache.maven.jrcs.rcs.Archive Archive}.

CAVEAT UTILITOR: Do not make modifications to your archives with JRCS. There needs to be an important amount of additional testing before it's safe to do that.

The {@link org.apache.maven.jrcs.diff diff} package implements the differencing engine that JRCS uses. The engine has the power of Unix diff, is simple to understand, and can be used independently of the archive handling functionality. The entry point to the differencing engine is class {@link org.apache.maven.jrcs.diff.Diff Diff}.

## Package Dependencies

### Jakarta ORO Regexp

The Jakarta ORO Regexp library is used for RCS keyword management. You can get a copy of Jakarta ORO from:

> http://jakarta.apache.org/oro/

A copy of Jakarta Regexp is included in the full distribution of this library.

### JavaCC

The RCS parser is constructed using the JavaCC compiler compiler. You can get a copy of JavaCC from:

> http://www.metamata.com/javacc/

JavaCC is not distributable, so you must get a copy of it yourself if you intend to use it. Keep in mind that, as distributed, this library does not require JavaCC to be compiled because all the JavaCC generated .java files are included.

If you decide to use JavaCC, please adjust the "javacc.lib.dir" property as needed. You'll also need to download the set of optional tasks for Ant.

### JUnit

The library tests are written for the JUnit Testing Framework. For distributions and documentation see:

> http://www.junit.org/

@author Juanco Anez @version $Id: Archive.java,v 1.16 2002/02/27 20:58:58 sbailliez Exp $ @see Archive @see org.apache.maven.jrcs.diff.Diff