Author: carlos
Date: Thu May  4 22:58:15 2006
New Revision: 399978

URL: http://svn.apache.org/viewcvs?rev=399978&view=rev
Log:
Cleanup checkout directory before checking out

Modified:
    
maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java

Modified: 
maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java?rev=399978&r1=399977&r2=399978&view=diff
==============================================================================
--- 
maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
 (original)
+++ 
maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
 Thu May  4 22:58:15 2006
@@ -113,13 +113,24 @@
         return getScmManager().getProviderByType( scmType );
     }
 
+    /**
+     * This will cleanup the checkout directory 
+     */
     public void openConnection()
         throws ConnectionException
     {
-        if ( !checkoutDirectory.exists() )
+        if ( checkoutDirectory.exists() )
         {
-            checkoutDirectory.mkdirs();
+            try
+            {
+                FileUtils.deleteDirectory( checkoutDirectory );
+            }
+            catch ( IOException e )
+            {
+                throw new ConnectionException( "Unable to cleanup checkout 
directory", e );
+            }
         }
+        checkoutDirectory.mkdirs();
     }
 
     private ScmRepository getScmRepository( String url )
@@ -228,20 +239,7 @@
 
             ScmResult result;
 
-            String reservedScmFile = scmProvider.getScmSpecificFilename();
-
-            File newCheckoutDirectory = checkoutDirectory;
-
-            if ( reservedScmFile != null && new File( basedir, reservedScmFile 
).exists() )
-            {
-                result = scmProvider.update( scmRepository, new ScmFileSet( 
basedir ), null );
-
-                checkScmResult( result );
-            }
-            else
-            {
-                newCheckoutDirectory = mkdirs( scmProvider, scmRepository, 
basedir );
-            }
+            File newCheckoutDirectory = mkdirs( scmProvider, scmRepository, 
basedir );
 
             File scmFile = new File( newCheckoutDirectory, resourceName );
 
@@ -262,6 +260,7 @@
             if ( !fileAlreadyInScm || scmFile.isDirectory() )
             {
                 int addedFiles = addFiles( scmProvider, scmRepository, 
newCheckoutDirectory, scmFile.getName() );
+
                 if ( !fileAlreadyInScm && addedFiles == 0 )
                 {
                     throw new TransferFailedException( "Unable to add file to 
SCM: " + scmFile );
@@ -394,7 +393,12 @@
                 
                 String folderNameToCommit = 
lastBaseProviderRepository.getRelativePath( baseProviderRepository );
 
-                addFiles( scmProvider, baseRepository, basedir, 
folderNameToCommit );
+                int addedFiles = addFiles( scmProvider, baseRepository, 
basedir, folderNameToCommit );
+
+                if ( addedFiles == 0 )
+                {
+                    throw new TransferFailedException( "Unable to add folder 
to SCM: " + new File( basedir, folderNameToCommit ) );
+                }
 
                 scmProvider.checkIn( baseRepository, new ScmFileSet( basedir, 
new File( folderNameToCommit ) ), null,
                                      "Adding required folders for Wagon.put" );


Reply via email to