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 )