
cvn - a unified wrapper around cvs and svn

cvn [cvs|svn command here]

cvn at its simplest provides a way to automatically invoke either the svn of cvs binary,
depending on whether the current working directory is held under CVS or Subversion.
It also simulates some commands in the cases (eg cvs doesn't support st or offline diffing) where one of the apps is deficient (where possible)

stsimulated under CVS by comparing the server-modified date in CVS/Entries with the mtime of the file(s)
get_textskeep texts in CVS/text_$file_$rev - used for offline diffing
upextended for CVS to invoke get_texts automatically
diffextended for CVS to attempt to use the locally cached text(s)
revertextended for CVS to attempt to use the locally cached text(s)
rgrepsimulated in both. similar to rgrep(1), but deliberately ignores files in .svn and CVS directories.
versionsimulated in both to return the version of the cvn binary

have rgrep honour svnignore property (currently it just excludes things inside .svn dirs for subversion)
improve parameter parsing
improve documentation
be a little more paranoid about invoking commands

rgrep invokes grep with the -H option,
which may not be supported by your native version of grep

Richard Clamp <richardc@unixbeard.net>

Copyright (C) 2002 Richard Clamp. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.