[
https://jira.codehaus.org/browse/SCM-740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=341325#comment-341325
]
Andreas Dangel commented on SCM-740:
------------------------------------
By default - maven-release-plugin 2.4.2 uses scm 1.7.
Once git has been localized, gitexe failed to parse "git status", hence SCM-686
was done.
LANG=C gives you an English git output - however, this is not enough anymore.
It seems that git has been modified, to not return "#" as the git status output
- which could be a git bug, as the man page still mentions this behavior.
Workaround:
1. Create a git wrapper shell script
{noformat}
#!/bin/bash
if [ "$1" = "status" ]; then
OUTPUT=$(/usr/bin/git status)
IFS="
"
for line in $OUTPUT; do
echo "#$line"
done
else
/usr/bin/git $*
fi
{noformat}
2. make sure you switch to English (e.g. {{export LANG=C}})
3. make sure, the git-wrapper script is in the path before the usual git binary
(e.g. {{export PATH=/tmp/git-wrapper:$PATH}})
4. run {{mvn release:prepare}} - it should work now
I also tried scm 1.9 and could reproduce the problem - it only happens, if you
have a subdirectory and you are not releasing from the toplevel repository
directory.
To run mvn release plugin with scm 1.9, add the following dependencies:
{noformat}
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9</version>
</dependency>
{noformat}
> Maven Release Plugin releases SNAPSHOT instead of STABLE version
> ----------------------------------------------------------------
>
> Key: SCM-740
> URL: https://jira.codehaus.org/browse/SCM-740
> Project: Maven SCM
> Issue Type: Bug
> Components: maven-scm-provider-git
> Environment: Everywhere with maven-scm-provider-gitexe of version 1.9
> (and maybe older)
> Reporter: Jan Novotný
> Attachments: Wrong_base_directory_used1.patch
>
>
> 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
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)