GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CVSYNC(1) FreeBSD General Commands Manual CVSYNC(1)

cvsync
synchronize CVS repositories

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

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:

Forces cvsync to use IPv4 addresses only.
Forces cvsync to use IPv6 addresses only.
Forces cvsync to set ‘errormode’ to ‘fixup’ for all collections.
Print the version number of cvsync to standard error.
Disables a compression.
file
Specifies the file to store configurations and collections.
Print the location of the default configuration file, the protocol revision number, the version number of cvsync, and the usage to standard error.
file
Specifies the file to store a pid number.
Be silent mode.
Be verbose mode.
Enables a compression.

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 keyword ‘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 keyword ‘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 succeeding 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 keyword 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 specific 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 instead. 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’.

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

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.

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

cvscan(1), cvsyncd(1)
June 23, 2005 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.