|[[cvs: Reference manual for Administrative files#Reference manual for Administrative files| << ]]|

|[[cvs: Reference manual for Administrative files#The CVSROOT/config configuration file| < ]]|

|[[cvs#Top| Up ]]|

|[[cvs: Compatibility between CVS Versions#Compatibility between CVS Versions| > ]]|

|[[cvs: Compatibility between CVS Versions#Compatibility between CVS Versions| >> ]]|

|[[cvs#Top|Top]]|

|[[cvs: Table of Contents#SEC_Contents|Contents]]|

|[[cvs: Index#Index|Index]]|

|[[cvs: About this Manual#SEC_About| ? ]]|

== All environment variables which affect CVS ==

This is a complete list of all environment variables that affect CVS.

;`$CVSIGNORE` : A whitespace-separated list of file name patterns that CVS should ignore. See section [[cvs: Reference manual for Administrative files#Ignoring files via cvsignore|Ignoring files via cvsignore]].

;`$CVSWRAPPERS` : A whitespace-separated list of file name patterns that CVS should treat as wrappers. See section [[cvs: Reference manual for Administrative files#The cvswrappers file|The cvswrappers file]].

;`$CVSREAD` : If this is set, `checkout` and `update` will try hard to make the files in your working directory read-only. When this is not set, the default behavior is to permit modification of your working files.

;`$CVSREADONLYFS` : Turns on read-only repository mode. This allows one to check out from a read-only repository, such as within an anoncvs server, or from a CDROM repository.

: It has the same effect as if the ‘`-R`’ command-line option is used. This can also allow the use of read-only NFS repositories.

;`$CVSUMASK` : Controls permissions of files in the repository. See [[cvs: The Repository#File permissions|File permissions]].

;`$CVSROOT` : Should contain the full pathname to the root of the CVS source repository (where the RCS files are kept). This information must be available to CVS for most commands to execute; if `$CVSROOT` is not set, or if you wish to override it for one invocation, you can supply it on the command line: ‘`cvs -d cvsroot cvs_command…`’ Once you have checked out a working directory, CVS stores the appropriate root (in the file ‘`CVS/Root`’), so normally you only need to worry about this when initially checking out a working directory.

;`$CVSEDITOR`
;`$EDITOR`
;`$VISUAL`
: Specifies the program to use for recording log messages during commit. `$CVSEDITOR` overrides `$EDITOR`, which overrides `$VISUAL`. See [[cvs: Overview#Committing your changes|Committing your changes]] for more or [[cvs: Guide to CVS commands#Global options|Global options]] for alternative ways of specifying a log editor.

;`$PATH` : If `$RCSBIN` is not set, and no path is compiled into CVS, it will use `$PATH` to try to find all programs it uses.

;`$HOME`
;`$HOMEPATH`
;`$HOMEDRIVE` : Used to locate the directory where the ‘`.cvsrc`’ file, and other such files, are searched. On Unix, CVS just checks for `HOME`. On Windows NT, the system will set `HOMEDRIVE`, for example to ‘`d:`’ and `HOMEPATH`, for example to ‘`\joe`’. On Windows 95, you’ll probably need to set `HOMEDRIVE` and `HOMEPATH` yourself.

;`$CVS_RSH` : Specifies the external program which CVS connects with, when `:ext:` access method is specified. see section [[cvs: The Repository#Connecting with rsh|Connecting with rsh]].

;`$CVS_SERVER` : Used in client-server mode when accessing a remote repository using RSH. It specifies the name of the program to start on the server side (and any necessary arguments) when accessing a remote repository using the `:ext:`, `:fork:`, or `:server:` access methods. The default value for `:ext:` and `:server:` is `cvs`; the default value for `:fork:` is the name used to run the client. see section [[cvs: The Repository#Connecting with rsh|Connecting with rsh]]

;`$CVS_PASSFILE` : Used in client-server mode when accessing the `cvs login server`. Default value is ‘`$HOME/.cvspass`’. see section [[cvs: The Repository#Using the client with password authentication|Using the client with password authentication]]

;`$CVS_CLIENT_PORT` : Used in client-server mode to set the port to use when accessing the server via Kerberos, GSSAPI, or CVS’s password authentication protocol if the port is not specified in the CVSROOT. see section [[cvs: The Repository#Remote repositories|Remote repositories]]

;`$CVS_RCMD_PORT` : Used in client-server mode. If set, specifies the port number to be used when accessing the RCMD demon on the server side. (Currently not used for Unix clients).

;`$CVS_CLIENT_LOG` : Used for debugging only in client-server mode. If set, everything sent to the server is logged into ‘``$CVS_CLIENT_LOG`.in`’ and everything sent from the server is logged into ‘``$CVS_CLIENT_LOG`.out`’.

;`$CVS_SERVER_SLEEP` : Used only for debugging the server side in client-server mode. If set, delays the start of the server child process the specified amount of seconds so that you can attach to it with a debugger.

;`$CVS_IGNORE_REMOTE_ROOT` : For CVS 1.10 and older, setting this variable prevents CVS from overwriting the ‘`CVS/Root`’ file when the ‘`-d`’ global option is specified. Later versions of CVS do not rewrite ‘`CVS/Root`’, so `CVS_IGNORE_REMOTE_ROOT` has no effect.

;`$CVS_LOCAL_BRANCH_NUM` : Setting this variable allows some control over the branch number that is assigned. This is specifically to support the local commit feature of CVSup. If one sets `CVS_LOCAL_BRANCH_NUM` to (say) 1000 then branches the local repository, the revision numbers will look like 1.66.1000.xx. There is almost a dead-set certainty that there will be no conflicts with version numbers.

;`$COMSPEC` : Used under OS/2 only. It specifies the name of the command interpreter and defaults to CMD.EXE.

;`$TMPDIR`
;`$TMP`
;`$TEMP`
: Directory in which temporary files are located. The CVS server uses `TMPDIR`. See section [[cvs: Guide to CVS commands#Global options|Global options]], for a description of how to specify this. Some parts of CVS will always use ‘`/tmp`’ (via the `tmpnam` function provided by the system).

: On Windows NT, `TMP` is used (via the `_tempnam` function provided by the system).

: The `patch` program which is used by the CVS client uses `TMPDIR`, and if it is not set, uses ‘`/tmp`’ (at least with GNU patch 2.1). Note that if your server and client are both running CVS 1.9.10 or later, CVS will not invoke an external `patch` program.

;`$CVS_PID` : This is the process identification (aka pid) number of the CVS process. It is often useful in the programs and/or scripts specified by the ‘`commitinfo`’, ‘`verifymsg`’, ‘`loginfo`’ files.

----

|[[cvs: Reference manual for Administrative files#Reference manual for Administrative files| << ]]| | |[[cvs: Compatibility between CVS Versions#Compatibility between CVS Versions| >> ]]| |  |  |  |  |  | |[[cvs#Top|Top]]| | |[[cvs: Table of Contents#SEC_Contents|Contents]]| | |[[cvs: Index#Index|Index]]| | |[[cvs: About this Manual#SEC_About| ? ]]|

This document was generated on a sunny day using [http://www.nongnu.org/texi2html/ texi2html].