Appendix C. All environment variables which affect CVS

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

$CVSIGNORE

A whitespace-separated list of file name patterns that cvsnt should ignore. the section called “Ignoring files via cvsignore”.

$CVSWRAPPERS

A whitespace-separated list of file name patterns that cvsnt should treat as wrappers. the section called “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.

$CVSUMASK

Controls permissions of files in the repository. See the section called “File permissions”.

$CVSROOT

Should contain the full pathname to the root of the cvsnt source repository (where the rcs files are kept). This information must be available to cvsnt 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, cvsnt 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.

$EDITOR, $CVSEDITOR, $VISUAL

Specifies the program to use for recording log messages during commit. $CVSEDITOR overrides $EDITOR. See the section called “Committing your changes”.

$PATH

If $rcsBIN is not set, and no path is compiled into cvsnt, 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, cvsnt 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_EXT

$CVS_RSH

Specifies the external program which cvsnt connects with, when :ext: access method is specified. This replaces the CVS_RSH environment used in older implementations of cvs.

The CVS_EXT variable parsed as a formatting string specifying the command to pass to invoke the remote server. The default string is: ssh -l %u %h The %u parameter is replaced with the username specified in the CVSROOT (or the current username if none is specified) and the %h parameter is replaced with the hostname specified in the CVSROOT.

The CVS_EXT string has the string ' cvs server' appended to it, and this is then passed to the command processor for execution.

the section called “Connecting with ssh”.

$CVS_CLIENT_PORT

Used in client-server mode when accessing the server via Kerberos, GSSAPI, or cvsnt's password authentication if the port is not specified in $CVSROOT. the section called “Remote repositories”

$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_LOG

Used for debugging only in client-server mode. If set, everything sent to the server is logged into $CVS_SERVER_LOG.in and everything sent from the server is logged into $CVS_SERVER_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_DIR

Used by the client to find the lockserver when automatically executing it. If not defined the client looks in the system path.

$CVSLIB

Location of the libraries and protocol DLLs used by cvsnt. Not used on Win32.

$CVSCONF

Location of the global configuration settings file. Not used on Win32.

$COMSPEC

Used under DOS/Windows and 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 cvsnt server uses TMPDIR. the section called “Global options”, for a description of how to specify this. Some parts of cvsnt 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 cvsnt 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 cvsnt 1.9.10 or later, cvsnt will not invoke an external patch program.