DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(cvs.info.gz) Variables

Info Catalog (cvs.info.gz) history file (cvs.info.gz) Administrative files (cvs.info.gz) config
 
 C.8 Expansions in administrative files
 ======================================
 
 Sometimes in writing an administrative file, you might want the file to
 be able to know various things based on environment CVS is running in.
 There are several mechanisms to do that.
 
    To find the home directory of the user running CVS (from the `HOME'
 environment variable), use `~' followed by `/' or the end of the line.
 Likewise for the home directory of USER, use `~USER'.  These variables
 are expanded on the server machine, and don't get any reasonable
 expansion if pserver ( Password authenticated) is in use;
 therefore user variables (see below) may be a better choice to
 customize behavior based on the user running CVS.
 
    One may want to know about various pieces of information internal to
 CVS.  A CVS internal variable has the syntax `${VARIABLE}', where
 VARIABLE starts with a letter and consists of alphanumeric characters
 and `_'.  If the character following VARIABLE is a non-alphanumeric
 character other than `_', the `{' and `}' can be omitted.  The CVS
 internal variables are:
 
 `CVSROOT'
      This is the absolute path to the current CVS root directory.
       Repository, for a description of the various ways to
      specify this, but note that the internal variable contains just
      the directory and not any of the access method information.
 
 `RCSBIN'
      In CVS 1.9.18 and older, this specified the directory where CVS
      was looking for RCS programs.  Because CVS no longer runs RCS
      programs, specifying this internal variable is now an error.
 
 `CVSEDITOR'
 `EDITOR'
 `VISUAL'
      These all expand to the same value, which is the editor that CVS
      is using.   Global options, for how to specify this.
 
 `USER'
      Username of the user running CVS (on the CVS server machine).
      When using pserver, this is the user specified in the repository
      specification which need not be the same as the username the
      server is running as ( Password authentication server).  Do
      not confuse this with the environment variable of the same name.
 
    If you want to pass a value to the administrative files which the
 user who is running CVS can specify, use a user variable.  To expand a
 user variable, the administrative file contains `${=VARIABLE}'.  To set
 a user variable, specify the global option `-s' to CVS, with argument
 `VARIABLE=VALUE'.  It may be particularly useful to specify this option
 via `.cvsrc' ( ~/.cvsrc).
 
    For example, if you want the administrative file to refer to a test
 directory you might create a user variable `TESTDIR'.  Then if CVS is
 invoked as
 
      cvs -s TESTDIR=/work/local/tests
 
 and the administrative file contains `sh ${=TESTDIR}/runtests', then
 that string is expanded to `sh /work/local/tests/runtests'.
 
    All other strings containing `$' are reserved; there is no way to
 quote a `$' character so that `$' represents itself.
 
    Environment variables passed to administrative files are:
 
 `CVS_USER'
      The CVS-specific username provided by the user, if it can be
      provided (currently just for the pserver access method), and to
      the empty string otherwise.  (`CVS_USER' and `USER' may differ
      when `$CVSROOT/CVSROOT/passwd' is used to map CVS usernames to
      system usernames.)
 
 `LOGNAME'
      The username of the system user.
 
 `USER'
      Same as `LOGNAME'.  Do not confuse this with the internal variable
      of the same name.
 
Info Catalog (cvs.info.gz) history file (cvs.info.gz) Administrative files (cvs.info.gz) config
automatically generated byinfo2html