Section 11.3. CVSROOT Variables


11.3. CVSROOT Variables

The administrative files in CVSROOT can use several types of variables: internal, environment, and shell variables. You can use these variables to pass parameters to the scripts in the scripting files, or you can use them as part of command-line templates.

The internal variables allow you to use information CVS stores about the currently running command. The environment variables are used to access information from the environment the command is running in, and the shell variables are used to access information about the shell.

11.3.1. Environment Variables in CVSROOT Files

Three environment variables are set when CVS runs commands or scripts from CVS administrative files:


CVS_USER

This variable is meaningful only with the pserver access method. It refers to the CVS username provided in the leftmost field of the appropriate line in CVSROOT/passwd. If this username does not exist, the variable expands to an empty string.


LOGNAME and USER

Both of these variables contain the username of the user calling the CVS process.

In the pserver access method, the username is the third field of the line in passwd. If no username is there, the CVS_USER value is used.

11.3.2. Internal Variables in CVSROOT Files

The syntax for referencing a CVS internal variable is ${VARIABLE}. The $VARIABLE syntax can also be used if the character immediately following the variable is neither alphanumeric nor an underscore (_).

These are the internal CVS variables:


COMMITID

The session ID of the CVS process. This is a unique ID for each commit session, and is between 16 and 256 characters in length.


CVSROOT

The path to the repository root directory (not the path to the CVSROOT directory within the repository). This variable contains the path only, not any access method or host information.


CVSEDITOR or EDITOR or VISUAL

The editor CVS is using. If you use the -e editor CVS option, CVS uses the editor that you specify on the command line. If you don't use -e, CVS reads the environment variables and uses the first editor it finds. CVS uses CVSEDITOR by preference, then EDITOR, then VISUAL.


USER

The username (on the server machine in client/server mode) of the user running CVS. With the pserver access method, this is the third field of the appropriate line in passwd. If no username is there, it is the name in the leftmost field.


RCSBIN

This variable applies only to CVS 1.9.18 or earlier. It contains the path to the rcs executable.


SESSIONID

The session ID of the CVS process. This is a unique ID for each commit session, and is between 16 and 256 characters in length.

CVS permits user-defined variables that can be passed to administrative files from the client. In the administrative files, reference such a variable with the syntax ${=VARIABLE}. On the command line, use the -s variable=value CVS option to pass the variable to CVS. All strings that contain the $ symbol, other than the variable references, are reserved for CVS internal use. There is no way to escape the $ symbol.

11.3.3. Shell Variables in CVSROOT Files

Two shell variables are also used in the administrative files. These variables are expanded on the server, so if you are using the pserver connection method, you may get results based on the username on the server rather than the CVS username.


~/

The home directory of the user calling the CVS process


~username

The home directory of the user identified as username




Essential CVS
Essential CVS (Essentials)
ISBN: 0596527039
EAN: 2147483647
Year: 2006
Pages: 148

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net