blob: 7ea9c5a1d60fbacb39e4593c433b6e046a2f5611 [file] [log] [blame]
------
Other SCM Commands
------
Pete Marvin King
------
2008-08-13
------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Other SCM Commands
The scm plugin requires the scm to be configured in the <<<pom.xml>>>.
+---------+
<project>
...
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SCM Sample Project</name>
<url>http://somecompany.com</url>
<scm>
<connection>scm:svn:http://somerepository.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
<url>http://somerepository.com/view.cvs</url>
</scm>
...
</project>
+---------+
If you want to change the default scm provider implementation, for exemple you want to use the native cvs
instead of the pure java implementation, you must configure your plugin like that:
+-----------+
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<configuration>
<providerImplementations>
<cvs>cvs_native</cvs>
</providerImplementations>
</configuration>
</plugin>
...
</plugins
...
</build>
...
</project>
+-----------+
Once the scm has been configured, scm operations can be performed.
* changelog - displays the project commit changes for each revisions
<<<pom.xml>>> configuration :
+-----------+
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0</version>
<configuration>
<startDate>YYYY-MM-DD</startDate>
<endDate>YYYY-MM-DD</endDate>
</configuration>
</plugin>
...
</plugins
...
</build>
...
</project>
+-----------+
Command :
+---------+
mvn scm:changelog
+---------+
or you can specify the startDate and endDate on the commandline
+---------+
mvn -DstartDate=YYYY-MM-DD -DendDate=YYYY-MM-DD scm:changelog
+---------+
* diff
<<<pom.xml>>> configuration :
+-----------+
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0</version>
<configuration>
<startRevision>connection</startRevision>
<endRevision>connection</endRevision>
</configuration>
</plugin>
...
</plugins
...
</build>
...
</project>
+-----------+
Command :
+---------+
mvn scm:diff
+---------+
or you can specify the startRevision and endRevision in the command line
+---------+
mvn -DstartRevision=<revision> -DendRevision=<revision> scm:diff
+---------+
* edit - set the edit status of the file, locking the project sources if supported.
Command :
+---------+
mvn scm:edit
+---------+
* status - displays the modified files in the project.
Command :
+---------+
mvn scm:status
+---------+
* tag
<<<pom.xml>>> configuration :
+-----------+
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0</version>
<configuration>
<tag>tag name</tag>
</configuration>
</plugin>
...
</plugins
...
</build>
...
</project>
+-----------+
Command :
+---------+
mvn scm:tag
+---------+
or you can specify the tag name in the command line
+---------+
mvn -Dtag="<tag name>" scm:tag
+---------+
* unedit - unset the edit status of the project sources and unlocking it if supported.
Command :
+---------+
mvn scm:unedit
+---------+
* validate - check if the scm urls configured in the <<<pom.xml>>> is valid.
Command :
+---------+
mvn scm:validate
+---------+
or passing the scmConnection or/and the developerConnection in the command line
+---------+
mvn -DscmConnection="<scm url>" -DscmDeveloperConnection="<scm url>" scm:validate
+---------+