Author: dantran
Date: Fri Jan  9 03:58:12 2009
New Revision: 733015

URL: http://svn.apache.org/viewvc?rev=733015&view=rev
Log:
SCM-433: set workingDirectory of SvnInfoCommand to its fileSet.getBasedir(), 
similar to all other commands, so that we can run scm info on a local directory.

Added:
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
Modified:
    
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java

Modified: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java?rev=733015&r1=733014&r2=733015&view=diff
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java
 (original)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java
 Fri Jan  9 03:58:12 2009
@@ -45,7 +45,6 @@
     extends AbstractCommand
     implements SvnCommand
 {
-    private static final File TMP_DIR = new File( System.getProperty( 
"java.io.tmpdir" ) );
 
     /** {...@inheritdoc} */
     protected ScmResult executeCommand( ScmProviderRepository repository, 
ScmFileSet fileSet,
@@ -90,10 +89,11 @@
         return new SvnInfoScmResult( cl.toString(), consumer.getInfoItems() );
     }
 
-    private static Commandline createCommandLine( SvnScmProviderRepository 
repository, ScmFileSet fileSet,
+    //set scope to protected to allow test to call it directly
+    protected static Commandline createCommandLine( SvnScmProviderRepository 
repository, ScmFileSet fileSet,
                                                   boolean recursive, String 
revision )
     {
-        Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( TMP_DIR, 
repository );
+        Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( 
fileSet.getBasedir(), repository );
 
         cl.createArg().setValue( "info" );
 

Added: 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java?rev=733015&view=auto
==============================================================================
--- 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
 (added)
+++ 
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
 Fri Jan  9 03:58:12 2009
@@ -0,0 +1,34 @@
+package org.apache.maven.scm.provider.svn.svnexe.command.info;
+
+import java.io.File;
+
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.apache.maven.scm.repository.ScmRepository;
+import org.codehaus.plexus.util.cli.Commandline;
+
+public class SvnInfoCommandTest
+    extends ScmTestCase
+{
+
+    public void testGetInfoOnEmptyFileSet()
+        throws Exception
+    {
+        ScmFileSet fileSet = new ScmFileSet( new File( getBasedir() ) );
+        
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk";, fileSet, "svn 
--non-interactive info" );
+    }
+    
+    private void testCommandLine( String scmUrl, ScmFileSet fileSet, String 
commandLine )
+        throws Exception
+    {
+        ScmRepository repository = getScmManager().makeScmRepository( scmUrl );
+
+        SvnScmProviderRepository svnRepository = (SvnScmProviderRepository) 
repository.getProviderRepository();
+
+        Commandline cl = SvnInfoCommand.createCommandLine( svnRepository, 
fileSet, false, null );
+        
+        assertCommandLine( commandLine, fileSet.getBasedir(), cl );
+    }
+}


Reply via email to