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> <version>1.8</version> <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.8</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.8</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
tag
pom.xml configuration :
<project> ... <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.8</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