Author: olamy
Date: Sun Mar 15 22:26:37 2009
New Revision: 754778

URL: http://svn.apache.org/viewvc?rev=754778&view=rev
Log:
[SCM-262] scm:tag for subversion tagging from local version of code, not 
directly from repository
add some options with ScmTagParameters to acivate a remote remota svn tagging

Added:
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java
   (with props)
Modified:
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java   
(props changed)
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
   (props changed)
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
   (props changed)
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/BasicScmManager.java
   (props changed)
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java
   (props changed)
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
   (props changed)
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProviderRepositoryWithHost.java
   (props changed)
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
    
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
 Sun Mar 15 22:26:37 2009
@@ -61,6 +61,9 @@
 
     public static final CommandParameter RUN_CHANGELOG_WITH_UPDATE =
         new CommandParameter( "run_changelog_with_update" );
+    
+    public static final CommandParameter SCM_TAG_PARAMETERS = new 
CommandParameter( "ScmTagParameters" );
+    
 
     /**
      * Parameter name

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
 Sun Mar 15 22:26:37 2009
@@ -274,6 +274,19 @@
         return (File[]) getObject( File[].class, parameter, defaultValue );
     }
 
+    
+    public ScmTagParameters getScmTagParameters( CommandParameter parameter )
+        throws ScmException
+    {
+        return (ScmTagParameters) getObject( ScmTagParameters.class, 
parameter, new ScmTagParameters() );
+    }
+    
+    public void setScmTagParameters( CommandParameter parameter, 
ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
+        setObject( parameter, scmTagParameters );
+    }
+    
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Added: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java?rev=754778&view=auto
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java
 (added)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java
 Sun Mar 15 22:26:37 2009
@@ -0,0 +1,74 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:ol...@apache.org";>olamy</a>
+ */
+public class ScmTagParameters
+{
+
+    private String message;
+
+    private boolean remoteTagging = false;
+
+    private String scmRevision;
+
+    public ScmTagParameters()
+    {
+        this.remoteTagging = false;
+    }
+
+    public ScmTagParameters( String message )
+    {
+        this.message = message;
+    }
+
+    public String getMessage()
+    {
+        return message;
+    }
+
+    public void setMessage( String message )
+    {
+        this.message = message;
+    }
+
+    public boolean isRemoteTagging()
+    {
+        return remoteTagging;
+    }
+
+    public void setRemoteTagging( boolean remoteTagging )
+    {
+        this.remoteTagging = remoteTagging;
+    }
+
+    public String getScmRevision()
+    {
+        return scmRevision;
+    }
+
+    public void setScmRevision( String scmRevision )
+    {
+        this.scmRevision = scmRevision;
+    }
+
+}

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Revision Id

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -24,6 +24,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.AbstractCommand;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 
@@ -35,10 +36,26 @@
 public abstract class AbstractTagCommand
     extends AbstractCommand
 {
-    protected abstract ScmResult executeTagCommand( ScmProviderRepository 
repository, ScmFileSet fileSet,
-                                                    String tagName, String 
message )
-        throws ScmException;
+    /**
+     * @deprecated use method {...@link 
#executeTagCommand(ScmProviderRepository, ScmFileSet, String, 
ScmTagParameters)} 
+     * @param repository
+     * @param fileSet
+     * @param tagName
+     * @param message
+     * @return
+     * @throws ScmException
+     */
+    protected ScmResult executeTagCommand( ScmProviderRepository repository, 
ScmFileSet fileSet, String tagName,
+                                           String message )
+        throws ScmException
+    {
+        return executeTagCommand( repository, fileSet, tagName, new 
ScmTagParameters( message ) );
+    }
 
+    protected abstract ScmResult executeTagCommand( ScmProviderRepository 
repository, ScmFileSet fileSet,
+                                                    String tagName, 
ScmTagParameters scmTagParameters )
+        throws ScmException;    
+    
     /** {...@inheritdoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, 
ScmFileSet fileSet,
                                      CommandParameters parameters )
@@ -48,6 +65,13 @@
 
         String message = parameters.getString( CommandParameter.MESSAGE, 
"[maven-scm] copy for tag " + tagName );
 
-        return executeTagCommand( repository, fileSet, tagName, message );
+        ScmTagParameters scmTagParameters = parameters.getScmTagParameters( 
CommandParameter.SCM_TAG_PARAMETERS );
+        if (message != null)
+        {
+            scmTagParameters.setMessage( message );
+        }
+        
+        return executeTagCommand( repository, fileSet, tagName, 
scmTagParameters );
     }
+    
 }

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/BasicScmManager.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
 Sun Mar 15 22:26:37 2009
@@ -26,6 +26,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.branch.BranchScmResult;
@@ -653,7 +654,7 @@
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tagName )
         throws ScmException
     {
-        return tag( repository, fileSet, tagName, null );
+        return tag( repository, fileSet, tagName, new ScmTagParameters() );
     }
 
     /** {...@inheritdoc} */
@@ -671,8 +672,27 @@
             parameters.setString( CommandParameter.MESSAGE, message );
         }
 
-        return tag( repository.getProviderRepository(), fileSet, parameters );
+        ScmTagParameters scmTagParameters =  new ScmTagParameters(message); 
+        
+        parameters.setScmTagParameters( CommandParameter.SCM_TAG_PARAMETERS, 
scmTagParameters );
+        
+        return tag( repository.getProviderRepository(), fileSet, parameters);
     }
+    
+    /** {...@inheritdoc} */
+    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 );
+    }    
 
     protected TagScmResult tag( ScmProviderRepository repository, ScmFileSet 
fileSet, CommandParameters parameters )
         throws ScmException

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
 Sun Mar 15 22:26:37 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.branch.BranchScmResult;
@@ -573,11 +574,26 @@
      *                   from the {...@link 
org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @param tagName    the tag name to apply to the files
      * @param message    the commit message used for the tag creation
+     * @deprecated use {...@link #tag(ScmRepository, ScmFileSet, String, 
ScmTagParameters)}
      * @return
      * @throws ScmException if any
      */
     TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String 
tagName, String message )
         throws ScmException;
+    
+    /**
+     * Tag (or label in some systems) will tag the source file with a certain 
tag
+     *
+     * @param repository         the source control system
+     * @param fileSet            the files to tag. Implementations can also 
give the changes
+     *                           from the {...@link 
org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
+     * @param tagName            the tag name to apply to the files
+     * @param scmTagParameters   bean to pass some paramters for tagging 
{...@link ScmTagParameters}
+     * @return
+     * @throws ScmException if any
+     */    
+    TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String 
tagName, ScmTagParameters scmTagParameters )
+        throws ScmException;    
 
     /**
      * Updates the copy on the local machine with the changes in the repository

Propchange: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProviderRepositoryWithHost.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Sun Mar 15 22:26:37 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -41,11 +42,19 @@
     extends AbstractTagCommand
     implements ClearCaseCommand
 {
-    /** {...@inheritdoc} */
+    
     protected ScmResult executeTagCommand( ScmProviderRepository 
scmProviderRepository, ScmFileSet fileSet, String tag,
                                            String message )
         throws ScmException
     {
+        return executeTagCommand( scmProviderRepository, fileSet, tag, new 
ScmTagParameters( message ) );
+    }
+    
+    /** {...@inheritdoc} */
+    protected ScmResult executeTagCommand( ScmProviderRepository 
scmProviderRepository, ScmFileSet fileSet, String tag,
+                                           ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
         if ( getLogger().isDebugEnabled() )
         {
             getLogger().debug( "executing tag command..." );

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -29,6 +29,7 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
@@ -50,11 +51,19 @@
     extends AbstractTagCommand
     implements Command
 {
-    /** {...@inheritdoc} */
+    
     protected ScmResult executeTagCommand( ScmProviderRepository 
scmProviderRepository, ScmFileSet fileSet, String tag,
                                            String message )
         throws ScmException
     {
+        return executeTagCommand( scmProviderRepository, fileSet, tag, new 
ScmTagParameters( message ) );
+    }
+
+    /** {...@inheritdoc} */
+    protected ScmResult executeTagCommand( ScmProviderRepository 
scmProviderRepository, ScmFileSet fileSet, String tag,
+                                           ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
 
         if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
         {
@@ -69,7 +78,11 @@
         File workingDir = fileSet.getBasedir();
 
         // build the command
-        String[] tagCmd = new String[] { HgCommandConstants.TAG_CMD, 
HgCommandConstants.MESSAGE_OPTION, message, tag };
+        String[] tagCmd = new String[] {
+            HgCommandConstants.TAG_CMD,
+            HgCommandConstants.MESSAGE_OPTION,
+            scmTagParameters.getMessage(),
+            tag };
 
         // keep the command about in string form for reporting
         StringBuffer cmd = joinCmd( tagCmd );

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -51,10 +52,18 @@
 {
     private String actualRepoLocation = null;
 
-    /** {...@inheritdoc} */
+    
     protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet files, String tag, String message )
         throws ScmException
     {
+        return executeTagCommand( repo, files, tag, new ScmTagParameters( 
message ) );
+    }
+    
+    /** {...@inheritdoc} */
+    protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet files, String tag,
+                                           ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
         PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) 
repo;
         actualRepoLocation = PerforceScmProvider.getRepoPath( getLogger(), 
prepo, files.getBasedir() );
 

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -45,10 +46,17 @@
     // AbstractTagCommand Implementation
     // ----------------------------------------------------------------------
 
-    /** {...@inheritdoc} */
     protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
+        return executeTagCommand( repo, fileSet, tag, new ScmTagParameters( 
message ) );
+    }
+    
+    /** {...@inheritdoc} */
+    protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet fileSet, String tag,
+                                           ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
         if ( fileSet.getFiles().length != 0 )
         {
             throw new ScmException( "This provider doesn't support tagging 
subsets of a directory" );

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -38,11 +39,19 @@
     extends AbstractTagCommand
     implements SynergyCommand
 {
-    /** {...@inheritdoc} */
+    
     protected ScmResult executeTagCommand( ScmProviderRepository repository, 
ScmFileSet fileSet, String tag,
                                            String message )
         throws ScmException
     {
+        return executeTagCommand( repository, fileSet, tag, new 
ScmTagParameters( message ) );
+    }
+
+    /** {...@inheritdoc} */
+    protected ScmResult executeTagCommand( ScmProviderRepository repository, 
ScmFileSet fileSet, String tag,
+                                           ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
         if ( getLogger().isDebugEnabled() )
         {
             getLogger().debug( "executing tag command..." );

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
 Sun Mar 15 22:26:37 2009
@@ -19,10 +19,17 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 import org.apache.maven.scm.CommandParameters;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.branch.BranchScmResult;
@@ -39,18 +46,13 @@
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.provider.AbstractScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.cvslib.command.tag.AbstractCvsTagCommand;
 import 
org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 /**
  * @author <a href="mailto:eveni...@apache.org";>Emmanuel Venisse </a>
  * @author <a href="mailto:tryg...@inamo.no";>Trygve Laugst&oslash;l</a>
@@ -331,6 +333,14 @@
     {
         return (TagScmResult) executeCommand( getTagCommand(), repository, 
fileSet, parameters );
     }
+    
+    protected TagScmResult tag( ScmProviderRepository repository, ScmFileSet 
fileSet, CommandParameters parameters,
+                                ScmTagParameters scmParameters )
+        throws ScmException
+    {
+        return (TagScmResult) getTagCommand().execute( repository, fileSet, 
parameters );
+    }
+    
 
     /** {...@inheritdoc} */
     public UpdateScmResult update( ScmProviderRepository repository, 
ScmFileSet fileSet, CommandParameters parameters )

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -25,6 +25,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -44,10 +45,18 @@
     extends AbstractTagCommand
     implements CvsCommand
 {
-    /** {...@inheritdoc} */
+    
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag, String message )
         throws ScmException
     {
+        return executeTagCommand( repo, fileSet, tag, new ScmTagParameters( 
message ) );
+    }
+
+    /** {...@inheritdoc} */
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag,
+                                        ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
 
         Commandline cl = CvsCommandUtils.getBaseCommand( "tag", repository, 
fileSet, false );

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -19,27 +19,28 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.git.command.GitCommand;
-import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils;
 import org.apache.maven.scm.provider.git.gitexe.command.list.GitListCommand;
 import org.apache.maven.scm.provider.git.gitexe.command.list.GitListConsumer;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
-import java.io.File;
-import java.io.IOException;
-
 /**
  * @author <a href="mailto:strub...@yahoo.de";>Mark Struberg</a>
  * @version $Id$
@@ -48,10 +49,17 @@
     extends AbstractTagCommand
     implements GitCommand
 {
-    /** {...@inheritdoc} */
+    
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag, String message )
         throws ScmException
     {
+        return executeTagCommand( repo, fileSet, tag, new ScmTagParameters( 
message ) );
+    }
+    
+    /** {...@inheritdoc} */
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag, ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
         if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
         {
             throw new ScmException( "tag name must be specified" );
@@ -68,7 +76,7 @@
 
         try
         {
-            FileUtils.fileWrite( messageFile.getAbsolutePath(), message );
+            FileUtils.fileWrite( messageFile.getAbsolutePath(), 
scmTagParameters.getMessage() );
         }
         catch ( IOException ex )
         {

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
 Sun Mar 15 22:26:37 2009
@@ -28,4 +28,5 @@
 public interface SvnCommand
     extends Command
 {
+    // no-op
 }

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
 Sun Mar 15 22:26:37 2009
@@ -19,32 +19,36 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmTag;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.svn.SvnCommandUtils;
 import org.apache.maven.scm.provider.svn.SvnTagBranchUtils;
 import org.apache.maven.scm.provider.svn.command.SvnCommand;
+import org.apache.maven.scm.provider.svn.command.info.SvnInfoItem;
+import org.apache.maven.scm.provider.svn.command.info.SvnInfoScmResult;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.provider.svn.svnexe.command.SvnCommandLineUtils;
+import org.apache.maven.scm.provider.svn.svnexe.command.info.SvnInfoCommand;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 /**
  * @author <a href="mailto:br...@apache.org";>Brett Porter</a>
  * @version $Id$
@@ -54,10 +58,28 @@
     extends AbstractTagCommand
     implements SvnCommand
 {
-    /** {...@inheritdoc} */
+    
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag, String message )
         throws ScmException
     {
+        ScmTagParameters scmTagParameters = new ScmTagParameters( message );
+        // force false to preserve backward comp
+        scmTagParameters.setRemoteTagging( false );
+        return executeTagCommand( repo, fileSet, tag, scmTagParameters );
+    }
+    
+    /** {...@inheritdoc} */
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag,
+                                        ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
+        // NPE free
+        if (scmTagParameters == null)
+        {
+            scmTagParameters = new ScmTagParameters();
+            scmTagParameters.setRemoteTagging( false );
+          
+        }
         if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
         {
             throw new ScmException( "tag must be specified" );
@@ -74,17 +96,24 @@
 
         try
         {
-            FileUtils.fileWrite( messageFile.getAbsolutePath(), message );
+            FileUtils.fileWrite( messageFile.getAbsolutePath(), 
scmTagParameters == null ? "" : scmTagParameters
+                .getMessage() );
         }
         catch ( IOException ex )
         {
-            return new TagScmResult( null,
-                                     "Error while making a temporary file for 
the commit message: " + ex.getMessage(),
-                                     null, false );
+            return new TagScmResult( null, "Error while making a temporary 
file for the commit message: "
+                + ex.getMessage(), null, false );
         }
-
-        Commandline cl = createCommandLine( repository, fileSet.getBasedir(), 
tag, messageFile );
-
+        
+        // do we need a svn rev ? yes if remote tagging and 
scmTag.parameters.scmRevision == null
+        if (scmTagParameters.isRemoteTagging() && 
scmTagParameters.getScmRevision() == null)
+        {
+            String currentSvnRev = getCurrentSvnRev( fileSet );
+            scmTagParameters.setScmRevision( currentSvnRev );
+        }
+        
+        Commandline cl = createCommandLine( repository, fileSet.getBasedir(), 
tag, messageFile, scmTagParameters );
+        
         CommandLineUtils.StringStreamConsumer stdout = new 
CommandLineUtils.StringStreamConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new 
CommandLineUtils.StringStreamConsumer();
@@ -164,6 +193,14 @@
     //
     // ----------------------------------------------------------------------
 
+    /**
+     * @deprecated
+     * @param repository
+     * @param workingDirectory
+     * @param tag
+     * @param messageFile
+     * @return
+     */
     public static Commandline createCommandLine( SvnScmProviderRepository 
repository, File workingDirectory, String tag,
                                                  File messageFile )
     {
@@ -183,4 +220,55 @@
 
         return cl;
     }
+
+    
+    public static Commandline createCommandLine( SvnScmProviderRepository 
repository, File workingDirectory,
+                                                 String tag, File messageFile, 
ScmTagParameters scmTagParameters )
+    {
+        Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( 
workingDirectory, repository );
+
+        cl.createArg().setValue( "copy" );
+
+        cl.createArg().setValue( "--file" );
+
+        cl.createArg().setValue( messageFile.getAbsolutePath() );
+
+        String svnRev = null;
+
+        if ( scmTagParameters != null && scmTagParameters.getScmRevision() != 
null )
+        {
+            cl.createArg().setValue( "--revision " + svnRev );
+        }
+
+        if ( scmTagParameters != null && scmTagParameters.isRemoteTagging() )
+        {
+            cl.createArg().setValue( repository.getUrl() );
+        }
+        else
+        {
+            cl.createArg().setValue( "." );
+        }
+
+        // Note: this currently assumes you have the tag base checked out too
+        String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, new 
ScmTag( tag ) );
+        cl.createArg().setValue( SvnCommandUtils.fixUrl( tagUrl, 
repository.getUser() ) );
+
+        return cl;
+    }    
+    
+    private String getCurrentSvnRev( ScmFileSet fileSet )
+        throws ScmException
+    {
+        // Determine the revision of the working directory.
+        SvnInfoCommand infoCmd = new SvnInfoCommand();
+        infoCmd.setLogger( getLogger() );
+        ScmFileSet infoFileSet = new ScmFileSet( fileSet.getBasedir(), 
fileSet.getBasedir() );
+        SvnInfoScmResult ret = infoCmd.executeInfoCommand( null, infoFileSet, 
null, false, null );
+        if ( ret.isSuccess() )
+        {
+            SvnInfoItem item = (SvnInfoItem) 
ret.getInfoItems().iterator().next();
+            return item.getRevision();
+        }
+        return null;
+    }
 }

Modified: 
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java?rev=754778&r1=754777&r2=754778&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
 (original)
+++ 
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
 Sun Mar 15 22:26:37 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTagParameters;
 import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.branch.BranchScmResult;
@@ -585,6 +586,13 @@
         return getTagScmResult();
     }
 
+    public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tagName,
+                             ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
+        return getTagScmResult();
+    }
+
     /** {...@inheritdoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet 
fileSet, String tag )
         throws ScmException


Reply via email to