Provided by: cvsutils_0.2.5-1_all bug

NAME

       cvsutils - CVS utilities for use in working directories

SYNOPSIS

       cvsu [options]
       cvsco  [ options ]
       cvsdiscard  [ options ]
       cvspurge  [ options ]
       cvstrim  [ options ]
       cvschroot  [ options ]
       cvsdo  [ options ]

DESCRIPTION

       The  idea  of  cvsutils  is  to facilitate working with the files in the working directory of a developer
       using CVS (Concurrent Versions System).

       From the point of view of CVS, working directories have low value, since they  can  easily  be  recreated
       using  the  cvs  checkout  command.   Also the cvs update command will show the status of the files, i.e.
       whether they have been modified, added or removed.

       CVS in it's current state is a client-server system that does most of its work on the  server  side.  CVS
       provides  only  few  (if  any)  means  for  managing the working directory without communicating with the
       server.

       There are, however, several reasons why such means are necessary:

       *      There is enough information on the client side to create fast tools for sorting  and  purging  the
              working directory without contacting the CVS server.

       *      Checking out a big module over a slow line can take too much time.

       *      There should be support for disconnected operations.

       *      CVS  poses certain unnecessary restrictions on read-only users, e.g.  cvs add command doesn't work
              for them.

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 a "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 discards local changes but keeps results of
       compilation. It works like cvsco, but it only deletes files which are likely to cause merge conflicts.

CVSPURGE

       cvspurge leaves all files known to CVS, but removes the rest.  Unlike  cvsco,  it  doesn't  remove  local
       changes.  It is useful to test local changes in the otherwise clean source tree.

CVSTRIM

       cvstrim  removes  files  and  directories unknown to CVS. Files listed in .cvsignore are not removed. The
       idea is to remove the files that are not resulted from the normal build process - backups, coredumps etc.
       cvstrim relies on .cvsignore files being correct. Note that the backups for modified files are removed.

CVSCHROOT

       cvschroot  makes  it  possible to change CVS/Root in all subdirectories to the given value. Currently the
       only argument accepted is the new CVSROOT value.  Old-style CVS/Repository files that  contain  the  full
       path  to  the  repository  are  updated  to reflect the change. New-style CVS/Repository don't need to be
       changed. If the environment variable CVSROOT is defined, it overrides the contents of CVS/Root. In  other
       words, it is treated as the old CVS root.

CVSDO

       cvsdo  simulates  some of the CVS commands (currently add, remove and diff) without any access to the CVS
       server. Using cvsdo add and cvsdo remove allows you to create diffs with cvs diff -N, and all removed and
       added files will appear in the diff correctly, as if you had used cvs add and cvs remove respectively.

       cvsdo  diff  tries  to  locate  the  backup  copies of the modified files. If they can be found, they are
       compared with the current version  using  diff.   Only  those  backup  copies  are  used  that  have  the
       modification  date  equal  the  date listed in CVS/Entries for the modified file.  cvsdo diff patches the
       diff output to make it more robust to apply. An exception is made for files named "ChangeLog" -  in  this
       case  diff  will  be instructed to omit all context lines, so that the patch can be applied even if other
       changes have been written to the ChangeLog. Also the added files are handled properly. The header of  the
       diff  output  is  patched  in  such way that at least GNU patch will create a new file when the resulting
       patch is applied and remove that file when the patch is reverted.

LICENCE

       cvsutils is covered by the GNU General Public License (GPL).

SEE ALSO

       cvs(1), cvs2cl(1).

AUTHOR

       This manual page was written by Uwe Hermann <uwe@debian.org>, for the Debian GNU/Linux system (but may be
       used by others).

                                                February 27, 2002                                    CVSUTILS(1)