The general format for a CVS SCM URL is
scm:cvs<delimiter><method>[<delimiter>username_password_servername_port]<delimiter>path_to_repository<delimiter>module_name
As delimiter you can use either colon ':' or, if you use a colon for one of the variables (e.g. a windows path), a pipe '|'.
The following methods are supported:
Here are the format for each of the supported methods, using colon as delimiter.
scm:cvs<delimiter>local<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>lserver<delimiter>[username@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>pserver<delimiter>[username[<delimiter>password]@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>ext<delimiter>[username@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>sspi<delimiter>[username@]host<delimiter>path<delimiter>module
scm:cvs:pserver:anoncvs:@cvs.apache.org:/cvs/root:module scm:cvs|pserver|username@localhost|C:/Program Files/cvsnt/repositories|module_name scm:cvs:ext:username@cvs.apache.org:/cvs/root:module scm:cvs:local:/cvs/root:module scm:cvs:sspi:cvs.apache.org:2222:/cvs/root:module
If you use anonymous access, with an empty password, you need to add a colon (:) between the username and "@" like it's done in the first example. This tells the SCM provider that there is a password and that it is empty.
By default, the pure java CVS provider is used (which may not support SSPI protocol), so you don't need a cvs client installed on your machine. In some case, you can want to use the installed CVS client (for example, CVSNT). To do it, you can change the implementation to use by settings the 'maven.scm.provider.cvs.implementation' system property:
-Dmaven.scm.provider.cvs.implementation=cvs_native
The provider configuration is defined in $user.home/.scm/cvs-settings.xml
You can define the compression level in the provider configuration file (default value is 3). If compression level is equals to 0, there won't be any compression.
<cvs-settings> <compressionLevel>5</compressionLevel> </cvs-settings>
If you don't want compression, you can define the system property 'maven.scm.cvs.use_compression'.
mvn -Dmaven.scm.cvs.use_compression=true scm:changelog
By default, maven-scm doesn't use .cvsrc file. If you want to use it, you should allow it inprovider configuration file.
<cvs-settings> <useCvsrc>true</useCvsrc> </cvs-settings>
By default, maven-scm doesn't use '-t' global option of cvs command line to trace. If you want to use it, add the following lines in your provider configuration file:
<cvs-settings> <traceCvsCommand>true</traceCvsCommand> </cvs-settings>