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" );