If you have following project structure:
- superproject [Git repository root]
- projectA [release target]
- projectB [release target]
in other words you release subproject of a larger Git repository separately, you probably run at the same issue as we did. No recipe from above mentioned sources solves your problems and during release:prepare phase still no commit of stable pom.xml occurs. There is another bug in GitStatusConsumer class that checks output of the git status --porcelain command and verifies existency of the mentioned files on local filesystem. Regretfully it uses working directory instead of git repository root as the base folder and thus it constructs invalid path to the file where project folder directory is duplicated.
Problem is better described here: http://blog.novoj.net/2014/01/24/maven-release-plugin-releases-snapshot-instead-of-stable-version