sourCEntral - mobile manpages

pdf

CVSSUCK

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 AT cvs DOT m17n DOT org:/cvs/cvs cvssuck

grabs the module cvssuck in the repository :pserver:anonymous AT cvs DOT m17n DOT org:/cvs/cvs into the directory cvssuck.

% cvssuck :pserver:anonymous AT cvs DOT m17n DOT org:/cvs/cvs cvssuck cvs-info

grabs the modules cvssuck and cvs-info.

% cvssuck :pserver:anonymous AT cvs DOT m17n DOT org:/cvs/cvs -O $HOME/.cvsroot cvssuck

grabs the module cvssuck into $HOME/.cvsroot/cvssuck.

% cvssuck :pserver:anonymous AT cvs DOT m17n DOT 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 AT cvs DOT m17n DOT org:/cvs/cvs -o $HOME/.cvsroot/cvs/suck cvssuck

grabs the module cvssuck into $HOME/.cvsroot/cvs/suck.

% cvssuck -s :pserver:anonymous AT cvs DOT m17n DOT 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 AT m17n DOT 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’.

pdf