[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.9.2 The connection method

In its simplest form, the method portion of the repository string (see section Remote repositories) may be one of `ext', `fork', `gserver', `kserver', `local', `pserver', and, on some platforms, `server'.

If method is not specified, and the repository name starts with a `/', then the default is local. If method is not specified, and the repository name does not start with a `/', then the default is ext or server, depending on your platform; both the `ext' and `server' methods are described in Connecting with rsh.

The ext, fork, gserver, and pserver connection methods all accept optional method options, specified as part of the method string, like so:

 
:method[;option=arg...]:other_connection_data

CVS is not sensitive to the case of method or option, though it may sometimes be sensitive to the case of arg. The possible method options are as follows:

proxy=hostname
proxyport=port

These two method options can be used to connect via an HTTP tunnel style web proxy. hostname should be the name of the HTTP proxy server to connect through and port is the port number on the HTTP proxy server to connect via. port defaults to 8080.

An HTTP proxy server is not the same as a CVS write proxy server - please see Distributing load across several CVS servers for more on CVS write proxies.

For example, to connect pserver via a web proxy listening on port 8000 of www.myproxy.net, you would use a method of:

 
:pserver;proxy=www.myproxy.net;proxyport=8000:pserver_connection_string

In the above example, pserver_connection_string is still required to connect and authenticate to the CVS server, as noted in the upcoming sections on password authentication, gserver, and kserver. The example above only demonstrates a modification to the method portion of the repository name.

These options first appeared in CVS version 1.12.7 and are valid as modifcations to the gserver and pserver connection methods.

CVS_RSH=path

This method option can be used with the ext method to specify the path the CVS client will use to find the remote shell used to contact the CVS server and takes precedence over any path specified in the $CVS_RSH environment variable (see section Connecting with rsh). For example, to connect to a CVS server via the local `/path/to/ssh/command' command, you could choose to specify the following path via the CVS_RSH method option:

 
:ext;CVS_RSH=/path/to/ssh/command:ext_connection_string

This method option first appeared in CVS version 1.12.11 and is valid only as a modifcation to the ext connection method.

CVS_SERVER=path

This method option can be used with the ext and fork methods to specify the path CVS will use to find the CVS executable on the CVS server and takes precedence over any path specified in the $CVS_SERVER environment variable (see section Connecting with rsh). For example, to select the remote `/path/to/cvs/command' executable as your CVS server application on the CVS server machine, you could choose to specify the following path via the CVS_SERVER method option:

 
:ext;CVS_SERVER=/path/to/cvs/command:ext_connection_string

or, to select an executable named `cvs-1.12.11', assuming it is in your $PATH on the CVS server:

 
:ext;CVS_SERVER=cvs-1.12.11:ext_connection_string

This method option first appeared in CVS version 1.12.11 and is valid as a modifcation to both the ext and fork connection methods.

Redirect=boolean-state

The Redirect method option determines whether the CVS client will allow a CVS server to redirect it to a different CVS server, usually for write requests, as in a write proxy setup.

A boolean-state of any value acceptable for boolean `CVSROOT/config' file options is acceptable here (see section The CVSROOT/config configuration file). For example, `on', `off', `true', and `false' are all valid values for boolean-state. boolean-state for the Redirect method option defaults to `on'.

This option will have no effect when talking to any non-secondary CVS server. For more on write proxies and secondary servers, please see Distributing load across several CVS servers.

This method option first appeared in CVS version 1.12.11 and is valid only as a modifcation to the ext connection method.

sign
no-sign

Force OpenPGP signatures on or off. `sign' will cause the commit to abort if the server does not support OpenPGP signatures. Without one of these options, CVS will autonegotiate signing, attempting to sign commits when the server supports it. Overrides the $CVS_SIGN_COMMITS environment variable (see section All environment variables which affect CVS) and may be overridden by the `--sign' and `--no-sign' global options (see section Global options).

WARNING: OpenPGP Signed Commits for more on using OpenPGP signatures securely.

sign-template=template

Use template as the command line template to generate OpenPGP signatures. Format strings in this template are substituted before the command is run:

%M

Substitute in the textmode flag (defaults to `--textmode') when a signature is being generated for a text file.

%@

Substitute in any args set via the `--sign-arg' option or the CVSROOT sign-arg method option.

%s

Substitute the name of the file to generate a signature for.

This template should send the generated signature to its standard output. IS overridden by the `--sign-template' global command line option see section Global options and defaults to `/usr/bin/gpg --detach-sign --output - Mt %@ %s'.

WARNING: OpenPGP Signed Commits for more on using OpenPGP signatures securely.

textmode

The value passed to both in place of `%M' in both the OpenPGP signature and the OpenPGP verification command line templates. Defaults to `--textmode'.

WARNING: OpenPGP Signed Commits for more on using OpenPGP signatures securely.

verify
no-verify

Force OpenPGP signature verification on checkout off, or set the failure mode. With a failure mode of `warn', the user will be warned of invalid signatures but the checkout will be allowed. With a failure mode of `fatal', the checkout will be aborted when the first corrupt file is received. If the server does not support OpenPGP signatures, a failure mode of `fatal' will disallow the entire checkout. Overrides the $CVS_VERIFY_CHECKOUTS environment variable (see section All environment variables which affect CVS) and may be overridden by the `--verify' and `--no-verify' global options (see section Global options).

WARNING: OpenPGP Signed Commits for more on using OpenPGP signatures securely.

verify-template=template

Use template as the command line template to verify OpenPGP signatures. Format strings in this template are substituted before the command is run:

%M

Substitute in the textmode flag (defaults to `--textmode') when a signature is being verified for a text file.

%@

Substitute in any args set via the `--verify-arg' option or the CVSROOT verify-arg method option.

%S

Substitute the name of the file containing the signature.

%s

Substitute the name of the signed file.

This template should exit with an exit code of zero if the signature is valid for the signed file and a non-zero exit code otherwise. This method option overrides the $CVS_VERIFY_TEMPLATE environment variable (see section All environment variables which affect CVS) and is overridden by the `--verify-template' global command line option see section Global options and defaults to something like `/usr/bin/gpg --detach-sign --output - %M %@ %S %s'.

WARNING: OpenPGP Signed Commits for more on using OpenPGP signatures securely.

As a further example, to combine both the CVS_RSH and CVS_SERVER options, a method specification like the following would work:

 
:ext;CVS_RSH=/path/to/ssh/command;CVS_SERVER=/path/to/cvs/command:

This means that you would not need to have the CVS_SERVER or CVS_RSH environment variables set correctly. See Connecting with rsh, for more details on these environment variables.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on September, 14 2007 using texi2html 1.76.