[
http://jira.codehaus.org/browse/SCM-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=229440#action_229440
]
Marcin Zajaczkowski commented on SCM-444:
-----------------------------------------
I tried to test it with 1.4-SNAPSHOT, but it didn't work for me.
With following configuration:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.4-SNAPSHOT</version>
<configuration>
<pushChanges>false</pushChanges>
</configuration>
</plugin>
mvn release:prepare does:
[INFO] [release:prepare {execution: default-cli}]
[INFO] Resuming release from phase 'scm-commit-release'
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /home/mm/fooproj && git add -- pom.xml
[INFO] Working directory: /home/mm/fooproj
[INFO] Executing: /bin/sh -c cd /home/mm/fooproj && git status
[INFO] Working directory: /home/mm/fooproj
[INFO] Executing: /bin/sh -c cd /home/mm/fooproj && git commit --verbose -F
/tmp/maven-scm-1744449456.commit pom.xml
[INFO] Working directory: /home/mm/fooproj
[INFO] Executing: /bin/sh -c cd /home/mm/fooproj && git symbolic-ref HEAD
[INFO] Working directory: /home/mm/fooproj
[INFO] Executing: /bin/sh -c cd /home/mm/fooproj && git push
ssh://fooproj.git.sourceforge.net/gitroot/fooproj/fooproj master:master
[INFO] Working directory: /home/mm/fooproj
[email protected]'s password:
Did I do something wrong?
> Git provider does 'git push' during 'mvn release:prepare' which causes
> unwanted problems
> ----------------------------------------------------------------------------------------
>
> Key: SCM-444
> URL: http://jira.codehaus.org/browse/SCM-444
> Project: Maven SCM
> Issue Type: Bug
> Components: maven-scm-provider-git
> Affects Versions: 1.1
> Reporter: Petter Måhlén
> Assignee: Olivier Lamy
> Priority: Minor
> Fix For: 1.4
>
> Attachments: release_branch.jpg, SCM-444.patch
>
>
> When doing 'mvn release:prepare' with a Git provider, a 'git push' command is
> executed. This is not ideal because the push command can fail or push things
> from the local repository that are not needed/wanted in the remote
> repository. Some examples are:
> 1. The local repository has two branches: master (tracking origin/master) and
> dummy (tracking origin/dummy). The release is being made on the master
> branch, and the dummy and origin/dummy branches have diverged. Running
> 'release:prepare' causes a 'git push', which will succeed for the master
> branch (assuming that the release preparation has been made correctly) and
> fail for the dummy branch (the two branches have diverged and need to be
> merged or rebased). The release preparation aborts and the directory is left
> in a somewhat inconsistent state where manual cleaning up is needed (removing
> pom.xml.next files, changing versions to <new>-SNAPSHOT, etc.)
> 2. The local repository has two branches: master (tracking origin/master) and
> localtest (not in the origin repository). The localtest branch shouldn't be
> published because it is just used for some temporary testing and doesn't even
> work. It will be pushed during 'release:prepare'.
> Suggested behaviour: use 'git push origin <currentbranch>:<currentbranch>',
> or even better, query for which remote repository to push to (found in
> .git/config) and which branch to push from and to. For me, it would be great
> to have a 'confirm push' before doing it so as to keep things clean, but
> maybe that is quite complex.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira