                               CVSU - CVS Utilities

PLEASE NOTE, THAT ALTHOUGH THIS SOFTWARE WORKS FOR ITS AUTHOR, IT MAY OR
MAY NOT WORK FOR YOU. PLEASE BE CAREFUL. SOME OF THE INCLUDED FILES MAY
REMOVE RESULTS OF YOUR WORK.
PLEASE MAKE SURE THAT YOU UNDERSTAND HOW THEY WORK BEFORE YOU USE THEM.

CVSU is licensed under the terms of the GNU Public License, version 2.
See http://www.gnu.org/copyleft/gpl.html for details.

The homepage of CVSU is
http://www.typhoon.spb.ru/~proski/cvsu/

This address will change by the end of the year 1999.

The original author of CVSU is
 Tom Tromey <tromey@cygnus.com>

Currently CVSU is maintained by
 Pavel Roskin <pavel_roskin@geocities.com>

Following scripts are included:

				cvsu

cvsu is "cvs update offline"
It lists the files found in the current directory (or in the directories
which you specify).
Following is taken into account:

Attributes of the file
Information about the file in CVS/Entries
Timestamp of the file compared to the timestamp stored in CVS/Entries

Run "cvsu --help" to see supported command line options.
The options can be abbreviated. This functionality is provided by Perl,
and can vary from one machine to another.


				cvsco

cvsco is "cruel checkout"
 In other words, it removes results of compilation and discards local
changes.
 It deletes all the files except listed unmodified ones and checks out
everything which seems to be missing.
 Please note, that cvsco doesn't update files which haven't been modified
locally. It only reloads missing files and files which it erases.


				cvsdiscard

cvsdiscard is "discard my changes"
 In other words, it discard local changes but keeps results of compilation
 It works like "cvsco", but it only deletes files which are likely to cause
merge conflicts


				cvspurge

cvs purge is "cvs-based make maintainer-clean"
 In other words, it removes results of compilation but keeps local changes
 It removes unknown files, but keeps changes in the files known to CVS.
Unknown directories are also kept


				cvsdate

cvsdate is a better (in one aspect) implementation of "cvs update -D date"
  CVS ignores vendor branch after a head branch commit
  cvsdate analyzes "cvs log" output and decides which revision to get
PLEASE NOTE THAT cvsdate IS _EXTERMELY_ SLOW, AWKWARD AND INCOMPLETE
in its current implementation
Better version will be written only if somebody asks me
Otherwise I'll remove it


				cvschroot

cvschroot makes it possible to change CVS/Root in all subdirectories to
the given value. CVS/Repository is also updated unless it contains relative
path.


				cvsrmadm

cvsrmadm removes all CVS directories in the project
It is safer if you occasionally make mistakes in the "find" commands


				cvsdo

cvsdo simulates some of the CVS commands (currently add and remove) without
any access to the CVS server.
You can now create diffs with "cvs diff -N", and all removed and added
files will be put there, even if you only have read-only access to the
repository
