Author: olamy
Date: Wed Oct 10 21:52:35 2012
New Revision: 1396816

URL: http://svn.apache.org/viewvc?rev=1396816&view=rev
Log:
[MSCMPUB-2] publish-scm can fail with many files
nothing similar to svn --targets for git so add files one by one.

Modified:
    
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java

Modified: 
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java?rev=1396816&r1=1396815&r2=1396816&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
 Wed Oct 10 21:52:35 2012
@@ -44,6 +44,7 @@ import org.apache.maven.scm.repository.S
 import org.apache.maven.settings.Settings;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
 import org.apache.maven.shared.release.scm.ScmRepositoryConfigurator;
+import org.codehaus.plexus.util.Os;
 
 import java.io.File;
 import java.io.IOException;
@@ -613,7 +614,23 @@ public abstract class AbstractScmPublish
             commandParameters.setString( CommandParameter.MESSAGE, "Adding new 
site files." );
             commandParameters.setString( CommandParameter.FORCE_ADD, 
Boolean.TRUE.toString() );
 
-            checkScmResult( scmProvider.add( scmRepository, addedFileSet, 
commandParameters ), "add new files to SCM" );
+            // MSCMPUB-2: so add files one by one operation is local no remote 
access so not so slow
+            if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
+            {
+                for (File file : addedList)
+                {
+                    ScmFileSet addedFile = new ScmFileSet( checkoutDirectory, 
file );
+                    checkScmResult( scmProvider.add( scmRepository, addedFile, 
commandParameters ),
+                                    "add new files to SCM" );
+                }
+            }
+            else
+            {
+                checkScmResult( scmProvider.add( scmRepository, addedFileSet, 
commandParameters ),
+                                "add new files to SCM" );
+            }
+
+
         }
         catch ( ScmException e )
         {


Reply via email to