Author: evenisse
Date: Thu Apr  5 01:47:28 2007
New Revision: 525762

URL: http://svn.apache.org/viewvc?view=rev&rev=525762
Log:
Allow to change the default tag message

Modified:
    
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
    
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
    
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-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-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/command/tag/AbstractCvsTagCommand.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/manager/ScmManagerStub.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/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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -36,7 +36,7 @@
     extends AbstractCommand
 {
     protected abstract ScmResult executeTagCommand( ScmProviderRepository 
repository, ScmFileSet fileSet,
-                                                    String tagName )
+                                                    String tagName, String 
message )
         throws ScmException;
 
     public ScmResult executeCommand( ScmProviderRepository repository, 
ScmFileSet fileSet,
@@ -45,6 +45,8 @@
     {
         String tagName = parameters.getString( CommandParameter.TAG_NAME );
 
-        return executeTagCommand( repository, fileSet, tagName );
+        String message = parameters.getString( CommandParameter.MESSAGE, 
"[maven-scm] copy for tag " + tagName);
+
+        return executeTagCommand( repository, fileSet, tagName, message );
     }
 }

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
 Thu Apr  5 01:47:28 2007
@@ -494,6 +494,15 @@
     /**
      *
      */
+    public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tagName, String message )
+        throws ScmException
+    {
+        return this.getProviderByRepository( repository ).tag( repository, 
fileSet, tagName, message );
+    }
+
+    /**
+     *
+     */
     public UnEditScmResult unedit( ScmRepository repository, ScmFileSet 
fileSet )
         throws ScmException
     {

Modified: 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
 (original)
+++ 
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
 Thu Apr  5 01:47:28 2007
@@ -403,6 +403,20 @@
         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 [EMAIL PROTECTED] 
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
+     * @return
+     * @throws ScmException
+     */
+    TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String 
tagName, String message )
+        throws ScmException;
+
+    /**
      * Make a file no longer editable. This is the conterpart of [EMAIL 
PROTECTED] 
#edit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)}.
      * It makes the file read-only again.
      *

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -669,11 +669,25 @@
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tagName )
         throws ScmException
     {
+        return tag( repository, fileSet, tagName, null );
+    }
+
+    /**
+     * @see 
org.apache.maven.scm.provider.ScmProvider#tag(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+     */
+    public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tagName, String message )
+        throws ScmException
+    {
         login( repository, fileSet );
 
         CommandParameters parameters = new CommandParameters();
 
         parameters.setString( CommandParameter.TAG_NAME, tagName );
+
+        if ( StringUtils.isNotEmpty( message ) )
+        {
+            parameters.setString( CommandParameter.MESSAGE, message );
+        }
 
         return tag( repository.getProviderRepository(), fileSet, parameters );
     }

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -528,6 +528,20 @@
         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 [EMAIL PROTECTED] 
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
+     * @return
+     * @throws ScmException
+     */
+    TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String 
tagName, String message )
+        throws ScmException;
+
+    /**
      * Updates the copy on the local machine with the changes in the repository
      *
      * @param repository the source control system

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -41,7 +41,8 @@
     implements ClearCaseCommand
 {
 
-    protected ScmResult executeTagCommand( ScmProviderRepository 
scmProviderRepository, ScmFileSet fileSet, String tag )
+    protected ScmResult executeTagCommand( ScmProviderRepository 
scmProviderRepository, ScmFileSet fileSet, String tag,
+                                           String message )
         throws ScmException
     {
         getLogger().debug( "executing tag command..." );

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -51,7 +51,7 @@
 {
     private String actualRepoLocation = null;
 
-    protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet files, String tag )
+    protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet files, String tag, String message )
         throws ScmException
     {
         PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) 
repo;

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -45,7 +45,7 @@
     // AbstractTagCommand Implementation
     // ----------------------------------------------------------------------
 
-    protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet fileSet, String tag )
+    protected ScmResult executeTagCommand( ScmProviderRepository repo, 
ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
 

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -38,7 +38,8 @@
     implements SynergyCommand
 {
 
-    protected ScmResult executeTagCommand( ScmProviderRepository repository, 
ScmFileSet fileSet, String tag )
+    protected ScmResult executeTagCommand( ScmProviderRepository repository, 
ScmFileSet fileSet, String tag,
+                                           String message )
         throws ScmException
     {
         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/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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -39,7 +39,7 @@
     extends AbstractTagCommand
     implements CvsCommand
 {
-    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag )
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag, String message )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -54,7 +54,7 @@
     extends AbstractTagCommand
     implements SvnCommand
 {
-    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag )
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String tag, String message )
         throws ScmException
     {
         if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
@@ -73,8 +73,7 @@
 
         try
         {
-            // TODO: should message be customisable?
-            FileUtils.fileWrite( messageFile.getAbsolutePath(), "[maven-scm] 
copy for tag " + tag );
+            FileUtils.fileWrite( messageFile.getAbsolutePath(), message );
         }
         catch ( IOException ex )
         {

Modified: 
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java
 (original)
+++ 
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java
 Thu Apr  5 01:47:28 2007
@@ -382,6 +382,15 @@
     /**
      *
      */
+    public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tagName, String message )
+        throws ScmException
+    {
+        return this.getProviderByRepository( repository ).tag( repository, 
fileSet, tagName, message );
+    }
+
+    /**
+     *
+     */
     public UnEditScmResult unedit( ScmRepository repository, ScmFileSet 
fileSet )
         throws ScmException
     {

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?view=diff&rev=525762&r1=525761&r2=525762
==============================================================================
--- 
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
 Thu Apr  5 01:47:28 2007
@@ -615,6 +615,15 @@
     }
 
     /**
+     * @return getTagScmResult() always
+     */
+    public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, 
String tag, String message )
+        throws ScmException
+    {
+        return getTagScmResult();
+    }
+
+    /**
      * @return getUpdateScmResult() always
      */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet 
fileSet, String tag )


Reply via email to