Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.2
-
Fix Version/s: 1.3
-
Component/s: maven-scm-api
-
Labels:None
-
Environment:maven-release-plugin-2.0-beta-9
-
Complexity:Intermediate
-
Number of attachments :
Description
org.apache.maven.scm.command.provider.AbstractScmProvider
public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, ScmTagParameters scmTagParameters ) throws ScmException { login( repository, fileSet ); CommandParameters parameters = new CommandParameters(); parameters.setString( CommandParameter.TAG_NAME, tagName ); parameters.setScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS, scmTagParameters ); return tag( repository.getProviderRepository(), fileSet, parameters ); }
org.apache.maven.scm.command.tag.AbstractTagCommand
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { String tagName = parameters.getString( CommandParameter.TAG_NAME ); String message = parameters.getString( CommandParameter.MESSAGE, "[maven-scm] copy for tag " + tagName ); ScmTagParameters scmTagParameters = parameters.getScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS ); if (message != null) { scmTagParameters.setMessage( message ); } return executeTagCommand( repository, fileSet, tagName, scmTagParameters ); }
Maven release manager passes custom message to scm provider using the scmTagParameters argument.
Scm provider passes scmTagParameters to scm tag command (CommandParameter.SCM_TAG_PARAMETERS).
Scm tag command overrides the passed ScmTagParameters#message.
Correct implementation should be like this:
org.apache.maven.scm.command.tag.AbstractTagCommand
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { String tagName = parameters.getString( CommandParameter.TAG_NAME ); ScmTagParameters scmTagParameters = parameters.getScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS ); String message = parameters.getString( CommandParameter.MESSAGE ); if (message != null) { // if message was passed by CommandParameter.MESSAGE then use it. scmTagParameters.setMessage( message ); } if(scmTagParameters.getMessage() == null) { // if message hasn't been passed nor by ScmTagParameters nor by CommandParameter.MESSAGE then use default. scmTagParameters.setMessage( "[maven-scm] copy for tag " + tagName ); } return executeTagCommand( repository, fileSet, tagName, scmTagParameters ); }
Issue Links
- is depended upon by
-
MRELEASE-442
scm tag phase ignores custom message (need to use scm 1.3)
-
could you please provide a patch with using svn diff.
Thanks