Next: , Previous: Server requirements, Up: Remote repositories


2.9.2 The connection method

In its simplest form, the method portion of the repository string (see 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 via 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.

NOTE: An HTTP proxy server is not the same as a cvs write proxy server - please see Write proxies 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
     

NOTE: 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 Connecting via 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 Connecting via 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 config). 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 Write proxies.

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

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 via rsh, for more details on these environment variables.