Provided by: cvs-fast-export_1.59-1_amd64 bug

NAME

       cvssync - fetch CVS repository masters via rsync

SYNOPSIS

       cvssync [-c] [-v] [-n] [-o outdir] [host-path module | cvsurl]

DESCRIPTION

       cvssync attempts to fetch a copy of a remote CVS repository into a local directory. All
       you have to tell it is the arguments you’re expected to hand CVS to perform a checkout of
       the remote.

       Alternatively, you can give it a single argument in URL format, of the form
       cvs://<host>/<path>#<module>.

       If a previous cvssync has been done into the directory, cvssync will do the least amount
       of file copying required to resynchronize the local copy with the remote. It relies on
       rsync(1) to accomplish this.

       cvssync knows about the site-structure idiosyncracies of some major CVS hosting sites and
       applies that knowledge so you don’t have to. Presently its rules are known good for
       SourceForge, Savannah, Sourceware, and Berlios. Its default method should work for many
       other sites. You can use the -v option to see what rsync command is actually generated in
       these cases.

       Because cvssync uses rsync, you may need to have an ssh public key installed in an account
       on the target system for it to work. However, many CVS repositories are set up in a way
       that makes anonymous read-only rsync possible.

       cvssync is an auxiliary tool issued with cvs-fast-export(1) in order to facilitate moving
       CVS repositories to version control systems that aren’t chipped out of flint. Of course,
       you can also use it for backups and other purposes.

OPTIONS

       -c
           Create a mirror that you can do checkouts from. Normally this tool creates a bare
           mirror of the module masters you are interested in without creating a module
           subdirectory and CVSROOT. With this option, the created directory structure is changed
           to include an empty CVSROOT, and the masters go in a subdirectory named after the
           module. A cvs -d:local: co command can then be used to make a local checkout for
           inspection.

       -n
           Dry-run. Generate the commands that would be performed but do not execute them. Useful
           with -v.

       -o
           Set the name of the output directory. The default is to use the module name.

       -v
           Verbose. Show subcommands as they are being executed.

DISAMBIGUATION

       There is another program called cvsync for making live mirrors; this is not it. One
       important difference is that cvsync requires a dedicated service daemon, cvsyncd, to be
       running on the CVS host; it’s not designed for ad-hoc fetches from random hosting sites.

       There is a program called cvssuck roughly equivalent to cvssync. It has the advantage that
       it grabs the master files using CVS client commands, so rsync access is not required. It
       has the disadvantage that because of bugs in CVS itself, it may mangle repository metadata
       on the way through. The author warns "However it is inefficient and not perfect because
       cvs client/server protocol is not designed for mirroring." Heed this warning; do not use
       cvssuck except as a last resort.

EXAMPLES

       Note that these examples may become obsolete as CVS repositories are decommissioned. They
       are meant to illustrate usage patterns.

       cvssync cvs.sourceforge.net:/cvsroot/rfk robotfindskitten
           Fetch the Robot Finds Kitten project from Sourceforge

       cvssync rfk.cvs.sourceforge.net:/cvsroot/rfk robotfindskitten
           Using the full Sourceforge pseudo-hostname also works.

       cvssync anonymous@rfk.cvs.sourceforge.net:/cvsroot/rfk robotfindskitten
           Any login credential is ignored.

       cvssync rfk.cvs.sourceforge.net:/rfk robotfindskitten
           The leading /cvsroot on a SourceForge path can be omitted.

       cvssync cvs://cvs.sourceforge.net/rfk#robotfindskitten
           Same fetch using the URL argument style.

       cvssync anonymous@cvs.savannah.gnu.org:/sources/groff groff
           Fetch the groff project repository from Savannah

       cvssync cvs.savannah.gnu.org:/groff groff
           Login credential and leading /sources can be omitted on Savannah.

       cvssync cvs://cvs.savannah.gnu.org/groff#groff
           Same fetch using the URL argument style.

       cvssync cvs:///home/user/foo#bar
           Copy module bar from a local CVS repository foo.

REPORTING BUGS

       Report bugs to Eric S. Raymond <esr@thyrsus.com>. The project page is at
       http://catb.org/~esr/cvs-fast-export

SEE ALSO

       rsync(1), rcs(1), cvs(1), cvs-fast-export(1).

                                            2019-04-24                                 CVSSYNC(1)