We use Maven with Subversion internally. We also use Maven's Release plugin. We noticed the issue described below when running through the following (correct, I presume) steps.
1. We run release:prepare
:
1.0.0
.svn copy trunk/myproject tags/myproject-1.0.0
, thus creating tag myproject-1.0.0
.1.0.1-SNAPSHOT
.2. We run release:rollback
:
1.0.0-SNAPSHOT
.3. We commit more changes to trunk, obviously against version 1.0.0-SNAPSHOT
.
4. We run release:prepare
again:
1.0.0
.svn copy trunk/myproject tags/myproject-1.0.0
, thinking it created tag myproject-1.0.0
out of the latest trunk. But, alas, Subversion (1.6 and 1.7 alike) will instead create tags/myproject-1.0.0/myproject
on Maven's behalf.5. We run release:perform
:
myproject-1.0.0
.The problem is obvious: the change in step 3 did not make it into the tag. We are now releasing 1.0.0
without the change in it.
The questions are: How can we fix this? Is Maven's release rollback feature inherently broken?
Since Maven Release Plugin version 3.0.0-M1 release:rollback
includes scm tag removal. See https://issues.apache.org/jira/browse/MRELEASE-229