NAME¶
cvssuck - inefficient cvs repository grabber using cvs command
SYNOPSIS¶
cvssuck [
-h] [
-b] [
-s] [
-v] [
-D
debug-option,...]
cvsroot [
-o
output-directory|-O output-base] [
-l
lock-directory| -L lock-base]
module ...
DESCRIPTION¶
CVSsuck is a mirroring tool for cvs repositories. Unlike other tools such
as CVSup or rsync, it uses cvs command to access the repository. So, it works
well with remote repositories without a special server or shell account.
However it is inefficient and not perfect because cvs client/server protocol
is not designed for mirroring. If a server provides special way to grab a
repository, you shouldn't use
CVSsuck.
OPTIONS¶
- -h
- prints help message.
- -b
- makes CVSsuck to traverse directories in breadth
first. CVSsuck traverses directory in depth first by default.
- -s
- specifies skeleton mode. In this mode, CVSsuck grabs
only first revision of the trunk, 1.1, branchpoints, head of branches and
tagged revisions. Note that first two (first revision of the trunk and
1.1) is identical in usual case.
- -v
- makes CVSsuck verbosely. This is same as `-D
command,attic,leavetmp'.
- -D debug-option,...
- specifies debug options. Available debug options are listed
by `cvssuck -h'.
- -o output-directory
- specifies the directory to store grabbed repository. A
remote RCS file module/dir/file,v in cvsroot
will be stored in output-directory/dir/file,v.
- -O output-base
- specifies the base directory to store grabbed repository. A
remote RCS file module/dir/file,v in cvsroot
will be stored in
output-base/module/dir/file,v. -o and
-O is exclusive. The last specified before module is
effective. By default, CVSsuck behaves as that current directory is
specified with -O.
- -l lock-directory
- specifies the directory of CVS style lock.
- -L lock-base
- specifies the base directory of CVS style lock. -l
and -L is exclusive. A lock directory should be specified after an
output directory. The last specified before module after an output
directory is effective. By default, CVSsuck assumes a lock
directory is same as output directory.
EXAMPLES¶
% cvssuck :pserver:anonymous@cvs.m17n.org:/cvs/cvs cvssuck
grabs the module
cvssuck in the repository
:pserver:anonymous@cvs.m17n.org:/cvs/cvs into the directory
cvssuck.
% cvssuck :pserver:anonymous@cvs.m17n.org:/cvs/cvs cvssuck cvs-info
grabs the modules
cvssuck and
cvs-info.
% cvssuck :pserver:anonymous@cvs.m17n.org:/cvs/cvs -O $HOME/.cvsroot
cvssuck
grabs the module
cvssuck into
$HOME/.cvsroot/cvssuck.
% cvssuck :pserver:anonymous@cvs.m17n.org:/cvs/cvs -O $HOME/.cvsroot -L
$HOME/.cvslock cvssuck
grabs the module
cvssuck into
$HOME/.cvsroot/cvssuck with the lock
directory
$HOME/.cvslock/cvssuck.
% cvssuck :pserver:anonymous@cvs.m17n.org:/cvs/cvs -o $HOME/.cvsroot/cvs/suck
cvssuck
grabs the module
cvssuck into
$HOME/.cvsroot/cvs/suck.
% cvssuck -s :pserver:anonymous@cvs.m17n.org:/cvs/cvs cvssuck
grabs needy revisions (skeleton) of the module
cvssuck.
SEE ALSO¶
http://cvs.m17n.org/~akr/cvssuck/
cvs(
1),
rcs(
1),
cvsup(
1),
rsync(
1)
AUTHORS¶
Tanaka Akira <akr@m17n.org>.
BUGS¶
It's inefficient.
It's not perfect because revisions stated as `dead' cannot be retrieved. However
it is not observable until the state is changed by `cvs admin -s'.