dcvs_config(5)            FreeBSD File Formats Manual           dcvs_config(5)


NAME

     dcvs_config -- the global DCVS configuration file


DESCRIPTION

     dcvs_config is the central configuration file for DCVS. It has the fol-
     lowing overall syntax:

       <dcs_config> ::= ( <range> | <server> | <client> | <collection> )*

       <range>      ::= range <rid> <int>..<int>

       <server>     ::= server <sid> <fqdn> <int>

       <client>     ::= client <cid> <fqdn> <sid>

       <collection> ::= collection <id> <repository root> <repository path>
                          ( <sid>(:<rid>)+ )+
                        end

       <rid>        ::= <ident>
       <sid>        ::= <ident>
       <cid>        ::= <ident>
       <fqdn>       ::= <ident>[.<ident>]*

     You use this syntax to define the following information for all DCVS pro-
     grams:

     1.   The names of all DCVS servers (short ids and fully qualified DNS
          names) and the port of each server. A server configuration line
          looks like this:

            server dcvs1 dcvs1.dcvs-net.de 44555 # comment at line end

     2.   The names of all DCVS clients (short ids and fully qualified DNS
          names) as well as their local server. A client configuration line
          looks like this:

                   client workstation1 ws1.dcvs-net.de dcvs1

     3.   The ranges that distinguish the lines of development based on the
          RCS branch numbers. A typical range definition looks like this:

                   range base 0..9999
                   range r1   10000..19999
                   range r2   20000..29999
                   range r3   30000..39999
                   range r4   40000..49999

     4.   The file collections (CVSup collections and CVS modules) that are
          elements of the DCVS repositories. A typical collection declaration
          looks like this:

                   collection libs /usr/dcvs libs
                     dcvs1:base
                     dcvs2:r1:base
                   end

          The first token after the collection keyword is the collection id (a
          short arbitrary name), followed by the repository path, followed by
          the relative collection path inside the repository.

          This information is followed by a list of server range definitions
          of the form

                   server-id:range-id[:range-id]*

          The first pair defines for which range the named server is authori-
          tative, i.e. commit to branches in this range are allowed at that
          server. If there are multiple range definitions, these are only used
          by the DCVSup server which passes all related deltas on to other
          servers.

     You will have to define all collections before you can do any DCVS opera-
     tions like importing or adding sources, as DCVS refuses to do anything
     without a valid collection definition.


ENVIRONMENT

     DCVS_CONFIG  may be used to override the default location of the
                  dcvs_config file.


FILES

     The dcvs_config file is searched for in the following locations:

     /etc/dcvs_config

     /etc/dcvs/dcvs_config

     /usr/local/etc/dcvs_config

     /usr/local/etc/dcvs/dcvs_config

     /opt/etc/dcvs_config

     /usr/local/dcvs/etc/dcvs_config

     /usr/local/etc/cvsup/cvsupd.servers

     /usr/etc/cvsup/cvsupd.servers

     /opt/etc/cvsup/cvsupd.servers


EXAMPLES

     A simple DCVS configuration may look like this:

       # A sample DCVS configuration with several ranges, servers,
       # and collections

       # We start by defining several ranges, each consisting of 10000
       # possible revision branch numbers. You usually do not need to
       # change this: only add new ranges when you need them for new servers.

       range base 0..9999
       range r1   10000..19999
       range r2   20000..29999
       range r3   30000..39999
       range r4   40000..49999

       # Our simple DCVS network consists of two servers:
       server willow willow.tree.org 44555
       server ash    ash.forest.net  44555

       # We also have two clients computers at server willow and one at
       # server ash:
       client ws1 ws1.tree.org willow
       client ws2 ws2.tree.org willow
       client ws11 ws11.forest.net ash

       # We only distribute one repository, currently consisting of 4
       # different collections.
       # The main trunk and vendor branch of collections c1, c3, and c4 is on
       # willow, ash is responsible for the trunk and import of collection
       # c2. Ash generally uses range r1 for its other collections, willow
       # uses range r2.

       collection c1 /repos/dcvs c1
         willow:base
         ash:r1
       end

       collection c2 /repos/dcvs libs/io
         willow:r2
         ash:base
       end

       collection c3 /repos/dcvs libs/text
         willow:base
         ash:r1
       end

       collection c4 /repos/dcvs libs/list
         willow:base
         ash:r1
       end

       # Note that all other DCVSup and DCVS configuration file can be
       # generated from this description by cvsupadm.


SEE ALSO

     DCVS(7,) dcvs_config(5,) dcvsupd(8,) dcvsup(1,) cvsupadm(1)

                                August 2, 2005