The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

cvn - a unified wrapper around cvs and svn

SYNOPSIS

cvn [cvs|svn command here]

DESCRIPTION

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)

Notes on simulated commands

st

simulated under CVS by comparing the server-modified date in CVS/Entries with the mtime of the file(s)

get_texts

keep texts in CVS/text_$file_$rev - used for offline diffing

up

extended for CVS to invoke get_texts automatically

diff

extended for CVS to attempt to use the locally cached text(s)

revert

extended for CVS to attempt to use the locally cached text(s)

rgrep

simulated in both. similar to rgrep(1), but deliberately ignores files in .svn and CVS directories.

version

simulated in both to return the version of the cvn binary

TODO

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

CAVEATS

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

AUTHOR

Richard Clamp <richardc@unixbeard.net>

COPYRIGHT

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.