I must say that Maven Release plugin is either totally dumb, or that what it does is totally counter-intuitive, and broken, IMHO.
What is the problem ? The maven release:prepare follows the steps :
1) Check that there are no uncommitted changes in the sources : OK
2) Check that there are no SNAPSHOT dependencies : OK
3) Change the version in the POMs from x-SNAPSHOT to a new version (you will be prompted for the versions to use) : OK
(here, we went from 2.0.0-RC2-SNAPSHOT to 2.0.0)
4) Transform the SCM information in the POM to include the final destination of the tag : OK
(the SCM info is now
5) Run the project tests against the modified POMs to confirm everything is in working order : OK
6) Commit the modified POMs : KO!!!
What's wrong here ? Everything has been committed in the trunk instead of the expected mina/tags/2.0.0 !
Why is the maven release plugin modifying the SCM tag if it's to commit everything in a place which should store the next version, ie 2.0.1-SNAPSHOT ?
I could understand that this is done on purpose (don't see a single reason for that, but who knows...), but at least, can't it *ask* the user before messing with the trunk ?
Sometime, the Maven Way Of Doing Things (tm) is completely broken, and this explains the complaints found on the blogsphere...