[
http://jira.codehaus.org/browse/MOJO-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=230305#action_230305
]
Andrew Phillips edited comment on MOJO-1199 at 7/30/10 4:48 AM:
----------------------------------------------------------------
There is an additional problem with the way the plugin handles updates (i.e.
when doUpdate=true). Due to the way ScmProvider.update is called, the update
command is always
{code}
git pull origin master
{code}
and not
{code}
git pull origin <current-branch>
{code}
which can leave your master pretty messed-up if it's not up-to-date and doesn't
appear to match the intended semantics of checking whether what is currently
being built is up-to-date.
Specifically, CreateMojo.update [1] will, in line 564, call
{code}
scmProvider.update(repository, new ScmFileSet(scmDirectory));
{code}
Following that call through the maven-scm-api shows that this results (in
AbstractScmProvider [2]) in the call
{code}
update(repository, fileSet, (ScmVersion) null, true );
{code}
i.e. an update with a null version. That, in turn, eventually bottoms out in
the gitexe provider's GitUpdateCommand [3], and there in createCommandLine ends
up at
{code}
// now set the branch where we would like to pull from
if ( scmVersion instanceof ScmBranch ) {
cl.createArg().setLine( scmVersion.getName() );
} else {
cl.createArg().setLine( "master" );
}
{code}
The null scmVersion then causes the
{code}
git pull origin master
{code}
line.
A patch for this problem is attached and will hopefully soon be added to Antony
Stubbs' fork [4] (see
[comment|http://jira.codehaus.org/browse/MOJO-1199?focusedCommentId=218180&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_218180]
above).
[1]
http://github.com/astubbs/buildnumber-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/build/CreateMojo.java
[2]
https://grid.sonatype.org/ci/job/maven-scm/ws/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java/*view*/
[3]
https://grid.sonatype.org/ci/job/maven-scm/ws/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java/*view*/
[4] http://github.com/astubbs/buildnumber-maven-plugin
was (Author: demobox):
There is an additional problem with the way the plugin handles updates
(i.e. when doUpdate=true). Due to the way ScmProvider.update is called, the
update command is always
git pull origin master
and not
git pull origin <current-branch>
which can leave your master pretty messed-up if it's not up-to-date and doesn't
appear to match the intended semantics of checking whether what is currently
being built is up-to-date.
Specifically, CreateMojo.update [1] will, in line 564, call
scmProvider.update(repository, new ScmFileSet(scmDirectory));
Following that call through the maven-scm-api shows that this results (in
AbstractScmProvider [2]) in the call
update(repository, fileSet, (ScmVersion) null, true );
i.e. an update with a null version. That, in turn, eventually bottoms out in
the gitexe provider's GitUpdateCommand [3], and there in createCommandLine ends
up at
// now set the branch where we would like to pull from
if ( scmVersion instanceof ScmBranch ) {
cl.createArg().setLine( scmVersion.getName() );
} else {
cl.createArg().setLine( "master" );
}
The null scmVersion then causes the
git pull origin master
line.
A patch for this problem is attached and will hopefully soon be added to Antony
Stubbs' fork [4] (see above comment).
[1]
http://github.com/astubbs/buildnumber-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/build/CreateMojo.java
[2]
https://grid.sonatype.org/ci/job/maven-scm/ws/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java/*view*/
[3]
https://grid.sonatype.org/ci/job/maven-scm/ws/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java/*view*/
[4] http://github.com/astubbs/buildnumber-maven-plugin
> Build number plugin to support GIT SCM
> --------------------------------------
>
> Key: MOJO-1199
> URL: http://jira.codehaus.org/browse/MOJO-1199
> Project: Mojo
> Issue Type: Improvement
> Components: buildnumber
> Reporter: Nigel Magnay
> Attachments: 0001-Add-GIT-support-for-build-numbering.patch,
> 0001-Support-GIT-revision-numbers.patch, buildnumber-git-support.patch,
> update-from-current-branch.patch
>
>
> The build number plugin assumes that SVN is being used.
> It would be nice to support GIT as this creates SHA1 revision numbers.
> Attached is a patch to do this - the pom.xml will need to be adjusted to use
> the GIT SCM revision from maven when it is released.
--
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
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email