This is very puzzling. For years I've used the maven-release-plugin to automate my releases with no trouble.
Now, on a particular project on GitHub, it is incorrectly transforming my pom.xml and attempting to release the project as a snapshot. The project is drop-dead brainlessly simple. It is a single-module project. The version is of the form 1.X.X-SNAPSHOT to start with. Let's say it's at 1.0.3-SNAPSHOT. I run mvn release:prepare and answer all the prompts with the defaults, as I have for years. It correctly surmises that the release version should be 1.0.3 and the new dev version should be 1.0.4-SNAPSHOT. It then transforms the pom.xml (apparently), and (apparently) tags the repo. When I investigate the release.properties file, it looks OK. However, when I look at the contents of the tag just created, it has the wrong version in it (1.0.3-SNAPSHOT). I've tried this back to back, and sometimes the tag has really random old versions: it's almost like the git checkout command that the release plugin issues is checking out the wrong branch or otherwise screwing things up--and all of a sudden, for no discernible reason. When I then do a release:perform, what gets mvn deploy'ed is a snapshot version instead of the expected release version. Investigating target/checkout shows that the wrong branch--or perhaps the "right" branch/tag with the wrong contents--is what was "perform"ed on. This behavior has never happened to me before and I have not added any settings or changed anything. I'm using Maven 3.0.5, the release plugin version 2.4.2 and Apple git 1.8.5.2. Completely stumped. This is really just a plea for help with shotgunning in the dark; has anyone observed behavior remotely like this before? Thanks, Best, Laird -- http://about.me/lairdnelson