This directory contains my work in-progress for adding support for LZW
compression to RCS and CVS.  The cvs-lzw.tar.Z file is a compressed tar
file containing an alpha version of a "compress"-compatible library with
an interface similar to stdio, extensible implementations of printf and
scanf, a patch to RCS version 5.6 to add support for compressed files,
and a patch to CVS version 1.3 to add support for compressed files.

In the compression library, the only functions that have been tested
to any extent are the ones used by RCS and CVS.  Others are known to
contain bugs.  The printf implementation is known to have problems
when errors occur while disposing of output characters, and its custom
conversion registrar also lacks robustness.  The scanf implementation
is untested.  Documentation and regression test suites are incomplete.

The patch to RCS adds a "-Z" command line option to many commands.  Its
format is "-Z[b]n" where "b" specifies "blocked compression" (which is
the default for the "compress" program -- its use is highly recommended),
and "n" is equivalent to the "compress" program's "-b" option.  This
number should between 12 and 16, inclusive.  (9-11 are supported by the
"compress" program but have not been tested here.)  The new "-Z" option
may also be set in the RCSINIT environment variable.

The patch to CVS adds support to read compressed version files, but
adds no other new functionality.

The LZW compression library is derived from the public-domain source code
for the de-facto standard "compress" program available on many Unix systems,
and is itself in the public domain.  The printf implementation is copyright
D. R. Hipp, and is freely redistributable under a license agreement that
appears in its source code and accompanying documentation.  The scanf
implementation was lifted from the BSD sources and is freely redistributable
under a license agreement that appears in its source code and accompanying
documentation.  The Software ChipSet build mechanism was developed by Paul
Sander and is in the public domain.
      Name                    Last modified       Size  Description

[DIR] Parent Directory 13-Aug-2005 12:37 - [CMP] cvs-lzw.tar.Z 13-Aug-2005 12:36 161k

Apache/1.3.33 Server at www.ivlinc.com Port 80