You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/04/23 10:21:12 UTC

svn commit: r1329117 - /maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java

Author: olamy
Date: Mon Apr 23 08:21:11 2012
New Revision: 1329117

URL: http://svn.apache.org/viewvc?rev=1329117&view=rev
Log:
[SCM-672] Perforce checking (submit) incorrectly ignores working directory
Submitted by Don Walling.

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.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=1329117&r1=1329116&r2=1329117&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 Mon Apr 23 08:21:11 2012
@@ -19,13 +19,6 @@ package org.apache.maven.scm.provider.pe
  * under the License.
  */
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmVersion;
@@ -39,6 +32,13 @@ import org.codehaus.plexus.util.cli.Comm
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
 /**
  * @author Mike Perham
  * @version $Id$
@@ -47,7 +47,9 @@ public class PerforceCheckInCommand
     extends AbstractCheckInCommand
     implements PerforceCommand
 {
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet files, String message,
                                                       ScmVersion version )
         throws ScmException
@@ -64,10 +66,10 @@ public class PerforceCheckInCommand
             }
 
             PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) repo;
-            String changes =
-                createChangeListSpecification( prepo, files, message,
-                                               PerforceScmProvider.getRepoPath( getLogger(), prepo,
-                                               files.getBasedir() ), jobs );
+            String changes = createChangeListSpecification( prepo, files, message,
+                                                            PerforceScmProvider.getRepoPath( getLogger(), prepo,
+                                                                                             files.getBasedir() ),
+                                                            jobs );
 
             if ( getLogger().isDebugEnabled() )
             {
@@ -75,7 +77,9 @@ public class PerforceCheckInCommand
             }
 
             CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
-            int exitCode = CommandLineUtils.executeCommandLine( cl, new ByteArrayInputStream(changes.getBytes()), consumer, err );
+            int exitCode =
+                CommandLineUtils.executeCommandLine( cl, new ByteArrayInputStream( changes.getBytes() ), consumer,
+                                                     err );
 
             if ( exitCode != 0 )
             {
@@ -132,7 +136,7 @@ public class PerforceCheckInCommand
             List<File> fs = files.getFileList();
             for ( int i = 0; i < fs.size(); i++ )
             {
-                File file = (File) fs.get( i );
+                File file = new File( workingDir, fs.get( i ).getPath() );
                 // XXX Submit requires the canonical repository path for each
                 // file.
                 // It is unclear how to get that from a File object.
@@ -155,8 +159,8 @@ public class PerforceCheckInCommand
                 {
                     canfile = canfile.substring( candir.length() + 1 );
                 }
-                buf.append( "\t" ).append( canonicalPath ).append( "/" ).append( canfile.replace( '\\', '/' ) )
-                    .append( NEWLINE );
+                buf.append( "\t" ).append( canonicalPath ).append( "/" ).append( canfile.replace( '\\', '/' ) ).append(
+                    NEWLINE );
             }
         }
         catch ( IOException e )