This is the command cvsdo that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
cvsutils - CVS utilities for use in working directories
cvsco [ options ]
cvsdiscard [ options ]
cvspurge [ options ]
cvstrim [ options ]
cvschroot [ options ]
cvsdo [ options ]
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 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 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
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 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
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 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
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.
cvsutils is covered by the GNU General Public License (GPL).
Use cvsdo online using onworks.net services