VCP::Utils::cvs - utilities for dealing with the cvs command
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.