Man Linux: Main Page and Category List

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’.

                               25 September 2000