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 ); + } +}