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/01/27 13:42:47 UTC

svn commit: r1236660 - /maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java

Author: olamy
Date: Fri Jan 27 12:42:47 2012
New Revision: 1236660

URL: http://svn.apache.org/viewvc?rev=1236660&view=rev
Log:
[SCM-660] Perforce Provider does not pass client specification to p4 for blame command
Submitted by Matthew Madson.

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.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/blame/PerforceBlameCommand.java?rev=1236660&r1=1236659&r2=1236660&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java Fri Jan 27 12:42:47 2012
@@ -48,9 +48,10 @@ public class PerforceBlameCommand
         throws ScmException
     {
         // Call annotate command
-
+		PerforceScmProviderRepository p4repo = (PerforceScmProviderRepository) repo;
+		String clientspec = PerforceScmProvider.getClientspecName( getLogger(), p4repo, workingDirectory.getBasedir() );
         Commandline cl = createCommandLine( (PerforceScmProviderRepository) repo, workingDirectory.getBasedir(),
-                                            filename );
+                                            filename, clientspec);
 
         PerforceBlameConsumer blameConsumer = new PerforceBlameConsumer( getLogger() );
 
@@ -73,7 +74,7 @@ public class PerforceBlameCommand
 
         // Call filelog command
 
-        cl = createFilelogCommandLine( (PerforceScmProviderRepository) repo, workingDirectory.getBasedir(), filename );
+        cl = createFilelogCommandLine( (PerforceScmProviderRepository) repo, workingDirectory.getBasedir(), filename, clientspec );
 
         PerforceFilelogConsumer filelogConsumer = new PerforceFilelogConsumer( getLogger() );
 
@@ -105,9 +106,14 @@ public class PerforceBlameCommand
     }
 
     public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDirectory,
-                                                 String filename )
+                                                 String filename, final String clientspec )
     {
         Commandline cl = PerforceScmProvider.createP4Command( repo, workingDirectory );
+		if(clientspec != null)
+		{
+			cl.createArg().setValue( "-c" );
+			cl.createArg().setValue( clientspec );
+		}		
         cl.createArg().setValue( "annotate" );
         cl.createArg().setValue( "-q" ); // quiet
         cl.createArg().setValue( filename );
@@ -115,10 +121,15 @@ public class PerforceBlameCommand
     }
 
     public static Commandline createFilelogCommandLine( PerforceScmProviderRepository repo, File workingDirectory,
-                                                        String filename )
+                                                        String filename, final String clientspec )
     {
         Commandline cl = PerforceScmProvider.createP4Command( repo, workingDirectory );
-        cl.createArg().setValue( "filelog" );
+		if(clientspec != null)
+		{
+			cl.createArg().setValue( "-c" );
+			cl.createArg().setValue( clientspec );
+		}
+		cl.createArg().setValue( "filelog" );
         cl.createArg().setValue( filename );
         return cl;
     }