Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CVSYNC(1)		     General Commands Manual		       CVSYNC(1)

NAME
     cvsync -- synchronize CVS repositories

SYNOPSIS
     cvsync [-46LVZhqvz] [-c file] [-p file] [URI ...]

DESCRIPTION
     cvsync  is  a  fast,  portable, IPv6 capable CVS repository synchronization
     utility.  cvsync consists of a client  program  cvsync,  a  server  program
     cvsyncd, a supplemental tool cvscan, cvsup2cvsync, and, cvsync2cvsup.

     cvsync  retrieves	CVS repository tree(s), which is called `collections' on
     the remote host where cvsyncd is running,	and  creates/updates  the  local
     mirror  of  them.	The update algorithm allows to transfer just differences
     between sets of files across the network  link,  using  cryptographic  hash
     function and so on.

     The following options are available:

     -4      Forces cvsync to use IPv4 addresses only.

     -6      Forces cvsync to use IPv6 addresses only.

     -L      Forces cvsync to set `errormode' to `fixup' for all collections.

     -V      Print the version number of cvsync to standard error.

     -Z      Disables a compression.

     -c file
	     Specifies the file to store configurations and collections.

     -h      Print  the location of the default configuration file, the protocol
	     revision number, the version number of cvsync,  and  the  usage  to
	     standard error.

     -p file
	     Specifies the file to store a pid number.

     -q      Be silent mode.

     -v      Be verbose mode.

     -z      Enables a compression.

CONFIGURATION FILE
     cvsync  uses  a  configuration  file which specifies the remote host(s) and
     collections to be updated.  Basically it is a free format plain  text  file
     whose  keywords  are separated by white space(s) and/or carriage return(s).
     Comments begin with `#' and extend to the end of the line.

     The following keywords are available:

     base directory
	     Specifies a prefix used for relative pathnames in all of  the  key-
	     word  `refuse'  and `scanfile'.  It must be an absolute path.  This
	     keyword is valid in `config'.

     base-prefix directory
	     Specifies a prefix used for relative pathnames in all of  the  key-
	     word `prefix'.  It must be an absolute path.  This keyword is valid
	     in `config'.

     collection { ... }
	     Specifies	a collection to be updated.  The keywords and parameters
	     that are included in the succeeding braces are used to specify  the
	     collection name, the local path where the collection is stored, and
	     so on.

     compress
	     Enables a compression.  This keyword is valid in `config'.

     config { ... }
	     Defines  a session with the keywords and parameters in the succeed-
	     ing braces.  A `config' has a `hostname' and a `port' number  of  a
	     remote  host,  and  one or more `collection' to be updated.  cvsync
	     processes every `config' of the configuration file in due order.  A
	     nest of `config' is not allowed.

     errormode mode
	     Specifies the behavior  when  any	potential  errors/conflicts  are
	     found in local distributions.

	     The following modes are available:

	     abort   Exit with error messages immediately.

	     fixup   Recover errors/conflicts and keep running.

	     ignore  Ignore any errors/conflicts.

	     The   default   value   is  `abort'.   This  keyword  is  valid  in
	     `collection'.

     hash type
	     Specifies the hash type that cvsync uses to verify files and deltas
	     transferred during a synchronization.  `md5' shall be supported  in
	     any  environments.   `ripemd160', `sha1', `tiger192' and, any other
	     types are optional.  The default value is `md5'.  This  keyword  is
	     valid in `config'.

     host, hostname hostname
	     Specifies the remote host name.  This keyword is valid in `config'.

     loose   Obsoleted.  Same to set `errormode' to `ignore'.

     name name
	     Specifies a collection name to be updated.  `all' is a special name
	     that  can	be used with `release list' to fetch a list of available
	     collections from the remote host.	See also `release'.   This  key-
	     word is valid in `collection'.

     port number
	     Specifies the remote port number.	The default value is 7777.  This
	     keyword is valid in `config'.

     prefix directory
	     Specifies the directory where files of the retrieved collection are
	     stored.   It  must  be  an absolute path.	This keyword is valid in
	     `collection'.

     proto, protocol af
	     Forces cvsync to use an address family af.

	     The following address families are available:

	     inet, inet4, ipv4
		     IP version 4

	     inet6, ipv6
		     IP version 6

	     This keyword is valid in `config'.

     refuse file
	     Specifies a refuse file name.  Using the refuse file,  the  clients
	     can  specify sets of files that they does not wish to receive.  The
	     single pattern is permitted on each line, and files and directories
	     matching the patterns are neither updated	nor  deleted;  they  are
	     simply  ignored.  The patterns are interpreted by fnmatch(3).  This
	     keyword is valid in `collection'.

     release type
	     Specifies a type of collections which are retrieved from the remote
	     host.  When most of files in a collection have  a	specific  format
	     such as rcsfile(5), cvsync can use optimized algorithms to transfer
	     such  files.   However,  it  needs that `release type' is specified
	     properly.

	     Using `release type', you can specify transfer a file  tree  itself
	     in a collection or a partial information of the tree such as a spe-
	     cific  revision  in rcsfile(5).  This is the reason why cvsync does
	     not decide the collection type automatically.

	     The following types are available:

	     list    Fetch a list of available collections from the remote host.
		     When `name' is specified as `all' the list contains all  of
		     the  collections, when specified as `rcs' the list contains
		     collections whose type is `rcs'.  See also `name'.

	     rcs     Fetch a collection whose type  is	`rcs'  from  the  remote
		     host.  The collection name must be specified in `name'.

	     This keyword is valid in `collection'.

     scanfile file
	     Specifies	the  scanfile to store the information about a directory
	     structure.  When a scanfile is specified, cvsync does  not  scan  a
	     directory	structure  and use the information from the scanfile in-
	     stead.  This allows to reduce disk i/o load radically.   This  file
	     is  generated  automatically  if does not exist and is updated when
	     cvsync is executed.  It must be an absolute path.	This keyword  is
	     valid in `collection'.

     umask number
	     Forces cvsync to use a umask value of number.  The default value is
	     022.  This keyword is valid in `collection'.

URI SYNTAX
     cvsync accepts the following URI syntax in addition to the config file.

     cvsync://<host>[:<port>][/[<name>/<release>/][?prefix=....]]

     host    Equivalent to `host' in `config'.

     port    Equivalent  to `port' in `config'.  When this is omitted, `7777' is
	     used by default.

     name    Equivalent to `name' in `collection'.  When this is omitted,  `all'
	     is used by default.

     release
	     Equivalent  to  `release'	in  `collection'.  When this is omitted,
	     `list' is used by default.

     prefix  Equivalent to `prefix' in `collection'.  This can be  omitted  only
	     when `release' is specified as `list'.

     For example:

     % cvsync cvsync://cvsync.example.com/
	     Retrieves	a  list  of  all  collections from `cvsync.example.com'.
	     This is equivalent to `cvsync://cvsync.example.com/all/list/'.

     % cvsync cvsync://cvsync.example.com/netbsd/rcs/?prefix=/cvsroot
	     Retrieves `netbsd' collection from `cvsync.example.com'  and  store
	     it into `/cvsroot' on the client.	The collection type is `rcs'.

EXAMPLES
     This is a typical configuration file to update a local mirror of the NetBSD
     repository:

	   config {
		   hostname cvsync.example.com

		   collection {
			   name all release list
		   }
	   }
	   config {
		   hostname cvsync.example.com

		   collection {
			   name netbsd release rcs
			   prefix /cvsroot
		   }
	   }

     The  first  config  retrieves  the  available collection list on the remote
     host, and then the next config updates the `netbsd'  collection.	/cvsroot
     is  the  directory  where the repository to be stored in on the client, and
     cvsync.example.com is a hostname of the remote host.

EXIT STATUS
     The cvsync utility exits EXIT_SUCCESS on success, and  EXIT_FAILURE  if  an
     error occurs.

SEE ALSO
     cvscan(1), cvsyncd(1)

FreeBSD ports 15.quarterly	  Jun 23, 2005			       CVSYNC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cvsync&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help