I'm getting this error during the mvn release:prepare goal:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli) on project env-status-checks: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The svn tag command failed.
[ERROR] Command output:
[ERROR] svn: E200007: Source and destination URLs appear not to point to the same repository.
That's the failing SVN command
[INFO] Tagging release with the label env-status-checks-0.0.1...
[INFO] Executing: cmd.exe /X /C "svn --username akanchev --password ***** --no-auth-cache --non-interactive copy --file C:\Windows\TEMP\maven-scm-1102804858.commit --revision 9260 svn://svn.XXXX.local/qa/XX-tf/trunk/env-status-checks http://svn.XXXX.local/qa/XX-tf/tags/env-status-checks-0.0.1"
[INFO] Working directory: C:\Users\Administrator\.jenkins\jobs\Test release\workspace
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
The pom.xml config for the maven release plugin is:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<tagBase>http://svn.XXXX.local/qa/XX-tf/tags</tagBase>
</configuration>
</plugin>
And that's the SVN scm:
<scm>
<connection>scm:svn:svn://svn.XXX.local/qa/wh-tf/trunk/env-status-checks</connection>
<developerConnection>scm:svn:svn://svn.XXX.local/qa/XX-tf/trunk/env-status-checks</developerConnection>
<url>scm:svn:svn://svn.XXX.local/qa/XX-tf/</url>
</scm>
FINAL SOLUTION (thanks Ben):
I was actually fooled by the maven guide for the release plugin. In the example there
<tagBase>https://svn.mycompany.com/repos/myapplication/releases</tagBase>
What worked properly for me is:
TAG base
<tagBase>svn://svn.XXXX.local/qa/XX-tf/tags/</tagBase>
SCM connection
<scm>
<connection>scm:svn:svn://svn.XXXX.local/qa/XX-tf/trunk/env-status-checks</connection>
</scm>
Your svn copy command is mixing two different protocols. The source is svn:// and the destination is http://. You need to use the same protocol when doing a server side copy since the destination and source have to be reachable via the same connection.
Switching to using both via svn:// or both via http:// should solve your problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With