Author: evenisse
Date: Tue Jan 31 01:49:59 2006
New Revision: 373783
URL: http://svn.apache.org/viewcvs?rev=373783&view=rev
Log:
[SCM-143] add a patch that makes that initial step more robust by forcing
non-recursive add and by always use absolute paths.
Submitted by: Torbjorn EIkli Smorgrav
Modified:
maven/scm/trunk/sandbox/maven-scm-provider-bazaar/ (props changed)
maven/scm/trunk/sandbox/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarTestUtils.java
Propchange: maven/scm/trunk/sandbox/maven-scm-provider-bazaar/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Jan 31 01:49:59 2006
@@ -0,0 +1,4 @@
+maven-scm-provider-bazaar.ipr
+maven-scm-provider-bazaar.iws
+target
+maven-scm-provider-bazaar.iml
Modified:
maven/scm/trunk/sandbox/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarTestUtils.java
URL:
http://svn.apache.org/viewcvs/maven/scm/trunk/sandbox/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarTestUtils.java?rev=373783&r1=373782&r2=373783&view=diff
==============================================================================
---
maven/scm/trunk/sandbox/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarTestUtils.java
(original)
+++
maven/scm/trunk/sandbox/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarTestUtils.java
Tue Jan 31 01:49:59 2006
@@ -2,7 +2,10 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
import org.codehaus.plexus.util.FileUtils;
@@ -14,7 +17,7 @@
public class BazaarTestUtils
{
- public static final String[] filesInOriginalRepository = new String[] {
+ public static final String[] filesInTestBranch = new String[] {
"pom.xml",
"readme.txt",
"src/main/java/Application.java",
@@ -22,57 +25,65 @@
public static final String TCK_FILE_CONSTANT = "/";
- public static final String TEMP_PATH = "target"; //System.getProperty(
"java.io.tmpdir" );
+ public static final String BRANCH_NAME = "target" + File.separator +
"test-branch";
- public static final String COMMIT_MESSAGE = "Initial revision";
+ public static final File WORKING_DIR = new File(BRANCH_NAME);
+
+ public static final String COMMIT_MESSAGE = "Add files to test branch";
public static String getScmUrl()
throws Exception
{
- File workingDir = new File( TEMP_PATH, "BazaarTmpRepository" );
- return "scm:bazaar:" + workingDir.getAbsolutePath();
+ return "scm:bazaar:" + WORKING_DIR.getAbsolutePath();
}
public static void initRepo()
throws Exception
{
// Prepare tmp directory
- File workingDir = new File( TEMP_PATH, "BazaarTmpRepository" );
- if ( workingDir.exists() )
+ if ( WORKING_DIR.exists() )
{
- FileUtils.deleteDirectory( workingDir );
+ FileUtils.deleteDirectory( WORKING_DIR );
}
- boolean workingDirReady = workingDir.mkdirs();
+ boolean workingDirReady = WORKING_DIR.mkdirs();
if ( !workingDirReady )
{
- throw new IOException( "Could not initiate test repository at: " +
workingDir );
+ throw new IOException( "Could not initiate test branch at: " +
WORKING_DIR );
}
// Init repository
String[] init_cmd = new String[] { BazaarCommand.INIT_CMD };
- BazaarUtils.execute( workingDir, init_cmd );
+ BazaarUtils.execute( WORKING_DIR, init_cmd );
// Create and add files to repository
- for ( int i = 0; i < filesInOriginalRepository.length; i++ )
+ List files = new ArrayList();
+ for ( int i = 0; i < filesInTestBranch.length; i++ )
{
- File file = new File( workingDir, filesInOriginalRepository[i] );
- if ( !file.getParentFile().exists() )
+ File file = new File( WORKING_DIR.getAbsolutePath(),
filesInTestBranch[i] );
+ if ( file.getParentFile() != null &&
!file.getParentFile().exists() )
{
boolean success = file.getParentFile().mkdirs();
if ( !success )
{
- throw new IOException( "Could not create directories in
repository for: " + file );
+ throw new IOException( "Could not create directories in
branch for: " + file );
}
}
file.createNewFile();
- FileUtils.fileWrite( file.getAbsolutePath(), TCK_FILE_CONSTANT +
filesInOriginalRepository[i] );
+ FileUtils.fileWrite( file.getAbsolutePath(), TCK_FILE_CONSTANT +
filesInTestBranch[i] );
+
+ files.add(file);
}
+
+ //Add to repository
String[] add_cmd = new String[] { BazaarCommand.ADD_CMD };
- BazaarUtils.execute( workingDir, add_cmd );
+ ScmFileSet filesToAdd = new ScmFileSet(new File(""),
(File[])files.toArray(new File[0]));
+ add_cmd = BazaarUtils.expandCommandLine(add_cmd, filesToAdd);
+ BazaarUtils.execute( WORKING_DIR, add_cmd );
// Commit the initial repository
- String[] commit_cmd = new String[] { BazaarCommand.COMMIT_CMD,
BazaarCommand.MESSAGE_OPTION, COMMIT_MESSAGE };
- BazaarUtils.execute( workingDir, commit_cmd );
+ String[] commit_cmd = new String[] { BazaarCommand.COMMIT_CMD,
+ BazaarCommand.MESSAGE_OPTION, COMMIT_MESSAGE };
+ BazaarUtils.execute( WORKING_DIR, commit_cmd );
}
}