[
http://jira.codehaus.org/browse/SCM-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=169440#action_169440
]
Olivier Lamy edited comment on SCM-262 at 3/14/09 12:10 PM:
------------------------------------------------------------
My proposal is to use :
{code}
svn copy --file /tmp/maven-scm-297444897.commit -r 599
http://XXX/svn/project/trunk http://XXX/svn/project/tags/foo-1.0.0
{code}
BTW to preserve backward comp this won't be the default way, it will be
activated though an option.
I propose to add a new method in ScmProvider :
{code:java}
TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String
tagName, TagParameters tagParameters)
throws ScmException;
{code}
{code:title=TagParameters.java|borderStyle=solid}
String message;
String remoteTagging = false;
String scmRevision;
{code}
In the new tag method :
{code}
// really pseudo code but maven style :-)
if (!remoteTagging)
{
use current tag command
}
if (remoteTagging && scmRevision != null)
{
// this can be usefull to tag a particular svn rev (ie releasing one build in
ci tools)
svn copy --file /tmp/maven-scm-297444897.commit -r ${scmRevision}
http://XXX/svn/project/trunk http://XXX/svn/project/tags/foo-1.0.0
}
if (remoteTagging && scmRevision == null)
{
get the current svn with SvnInfoCommandResult;
svn copy --file /tmp/maven-scm-297444897.commit -r ${scmRevision}
http://XXX/svn/project/trunk http://XXX/svn/project/tags/foo-1.0.0
}
{code}
If no comments/objections I will implements this as it
BTW :
* we will have to add some new mojo parameters in the maven-release-plugin to
be able to use in the release plugin
* others scm implementations will use their current Tag command (if remote tag
is configured a warning will say "this scm implementation doesn't support
remote tagging"$
was (Author: olamy):
My proposal is to use :
{code}
svn copy --file /tmp/maven-scm-297444897.commit -r 599
http://XXX/svn/project/trunk http://XXX/svn/project/tags/foo-1.0.0
{code}
BTW to preserve backward comp this won't be the default way, it will be
activated though an option.
I propose to add a new method in ScmProvider :
{code:java}
TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String
tagName, TagParameters tagParameters)
throws ScmException;
{code}
{code:title=TagParameters.java|borderStyle=solid}
String message;
String remoteTagging = false;
String scmRevision;
{code}
In the new tag method :
{code}
// really pseudo code but maven style :-)
if (!remoteTagging)
{
use current tag command
}
if (remoteTagging && scmRevision != null)
{
// this can be usefull to tag a particular svn rev (ie releasing one build in
ci tools)
svn copy --file /tmp/maven-scm-297444897.commit -r ${scmRevision}
http://XXX/svn/project/trunk http://XXX/svn/project/tags/foo-1.0.0
}
if (remoteTagging && scmRevision == null)
{
get the current svn with SvnInfoCommandResult;
svn copy --file /tmp/maven-scm-297444897.commit -r ${scmRevision}
http://XXX/svn/project/trunk http://XXX/svn/project/tags/foo-1.0.0
}
{code}
If no comments/objections I will implements this as it
BTW we will have to add some new mojo parameters in the maven-release-plugin to
be able to use in the release plugin
> scm:tag for subversion tagging from local version of code, not directly from
> repository
> ---------------------------------------------------------------------------------------
>
> Key: SCM-262
> URL: http://jira.codehaus.org/browse/SCM-262
> Project: Maven SCM
> Issue Type: Bug
> Components: maven-scm-provider-svn
> Reporter: Stephan Heilner
> Assignee: Olivier Lamy
> Fix For: 1.1.1
>
> Attachments: SvnTagCommand.patch
>
>
> In theory, you shouldn't tag or branch from a local and potentially different
> version of the code. From what I can tell, the scm:tag imports your existing
> code into a new tag. With subversion, tagging is very lightweight if you do
> a 'svn copy trunk_url tag_url'. The way it currently works make sense for
> other repositories such as CVS but not for subversion.
--
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