You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by vs...@apache.org on 2008/09/28 01:25:32 UTC

svn commit: r699757 - in /maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command: checkin/ checkout/ login/

Author: vsiveton
Date: Sat Sep 27 16:25:32 2008
New Revision: 699757

URL: http://svn.apache.org/viewvc?rev=699757&view=rev
Log:
SCM-246: p4 command reports most or all errors on stderr but maven-scm-provider-perforce throws away stderr
Submitted by: Peter Janes

o applied

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.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/checkin/PerforceCheckInCommand.java?rev=699757&r1=699756&r2=699757&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java Sat Sep 27 16:25:32 2008
@@ -34,6 +34,7 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.io.StringBufferInputStream;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -62,19 +63,20 @@
                 getLogger().debug( PerforceScmProvider.clean( "Executing " + cl.toString() ) );
             }
 
-            CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, err );
+            PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) repo;
+            String changes =
+                createChangeListSpecification( prepo, files, message,
+                                               PerforceScmProvider.getRepoPath( getLogger(), prepo,
+                                               files.getBasedir() ), jobs );
 
             if ( getLogger().isDebugEnabled() )
             {
-                PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) repo;
-                String changes =
-                    createChangeListSpecification( prepo, files, message,
-                                                   PerforceScmProvider.getRepoPath( getLogger(), prepo,
-                                                                                    files.getBasedir() ), jobs );
                 getLogger().debug( "Sending changelist:\n" + changes );
             }
 
+            CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
+            int exitCode = CommandLineUtils.executeCommandLine( cl, new StringBufferInputStream(changes), consumer, err );
+
             if ( exitCode != 0 )
             {
                 String cmdLine = CommandLineUtils.toString( cl.getCommandline() );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.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/checkout/PerforceCheckOutCommand.java?rev=699757&r1=699756&r2=699757&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java Sat Sep 27 16:25:32 2008
@@ -37,6 +37,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.StringBufferInputStream;
 
 /**
  * @author Mike Perham
@@ -90,14 +91,15 @@
                 getLogger().info( "Executing: " + PerforceScmProvider.clean( cl.toString() ) );
             }
 
+            String client = PerforceScmProvider.createClientspec( getLogger(), prepo, workingDirectory, actualLocation );
+
             if ( getLogger().isDebugEnabled() )
             {
-                String client = PerforceScmProvider.createClientspec( getLogger(), prepo, workingDirectory, actualLocation );
                 getLogger().debug( "Updating clientspec:\n" + client );
             }
 
             CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, err );
+            int exitCode = CommandLineUtils.executeCommandLine( cl, new StringBufferInputStream(client), consumer, err );
 
             if ( exitCode != 0 )
             {

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.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/login/PerforceLoginCommand.java?rev=699757&r1=699756&r2=699757&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java Sat Sep 27 16:25:32 2008
@@ -35,6 +35,8 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
+import java.io.StringBufferInputStream;
+
 /**
  * @author Mike Perham
  * @version $Id$
@@ -52,13 +54,14 @@
 
         try
         {
-            if ( StringUtils.isEmpty( repo.getPassword() ) )
+            String password = repo.getPassword();
+            if ( StringUtils.isEmpty( password ) )
             {
                 throw new ScmException( "password is required for the perforce scm plugin." );
             }
 
             CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, err );
+            int exitCode = CommandLineUtils.executeCommandLine( cl, new StringBufferInputStream(password), consumer, err );
 
             if ( exitCode != 0 )
             {
@@ -91,4 +94,4 @@
         }
         return command;
     }
-}
\ No newline at end of file
+}