VCP::Utils::cvs - utilities for dealing with the cvs command
use VCP::Utils::cvs ;
A mix-in class providing methods shared by VCP::Source::cvs and VCP::Dest::cvs,
mostly wrappers for calling the cvs command.
- cvs
- Calls the cvs command with the appropriate cvsroot option.
- parse_cvs_repo_spec
- This handles ":pserver:"-like type repository specs specially,
defaulting to normal processing if the scheme is not followed by something
like "foo". The username and password are parsed out of the spec
If the first colon is followed by a colon, like
cvs::pserver:user@server/foo:bar
, then the special processing kicks in and the spec is parsed accordingly.
Everything up to and including the first colon and starting with the last
colon are stripped, just like with normal specs, and the remainder becomes
the CVSROOT. This does have the side effect of plaintexting the password
in various CVS places (like the local CVS directories and the command
lines that VCP forks to launch CVS). Let me know if you need this
changed.
- cvsroot
- Returns the specced cvsroot if set, or $ENV{CVSROOT} if not.
While $ENV{CVSROOT} must be an absolute path if it's local (to be completely
consistent with the cvs command), the path repo_server value, if set, may
be relative (unless it begins with a ':', which indicates a non-local
path).
- create_cvs_workspace
-
$self->create_cvs_workspace;
$self->create_cvs_workspace( create_in_repository => 1 );
Creates a temp dir named "co" for "cvs" to work in,
checks out the module there, and sets the work root and cvs working dir to
that directory.
- RCS_check_tag
-
RCS_check_tag $tag1, ...;
Checks a list of tags for legality, die()s if it's not legal. Named
after the corresponding routine in CVS's rcs.c source file.
No clue how this interacts with your locale.
- RCS_underscorify_tag
-
@tags = RCS_check_tag $tag1, ...;
Modifies a list of tags, replacing illegal characters with underscores. This
may lead to tag collisions, but it should be ok for most uses.
Converts something like "a@" to "a_AF_". Not a
guaranteed solution, but good enough for now.
Copyright 2000, Perforce Software, Inc. All Rights Reserved.
This module and the VCP package are licensed according to the terms given in the
file LICENSE accompanying this distribution, a copy of which is included in
vcp.