Author: carlos
Date: Wed Mar  1 20:34:20 2006
New Revision: 382294

URL: http://svn.apache.org/viewcvs?rev=382294&view=rev
Log:
Check result of scm operations

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=382294&r1=382293&r2=382294&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
 Wed Mar  1 20:34:20 2006
@@ -153,34 +153,31 @@
 
             // TODO: ewwww
             ScmProvider scmProvider = scmManager.getProviderByRepository( 
scmRepository );
+            ScmResult result;
             if ( new File( basedir, ".svn" ).exists() || new File( basedir, 
"CVS" ).exists() )
             {
-                scmProvider.update( scmRepository, new ScmFileSet( basedir ), 
null );
+                result = scmProvider.update( scmRepository, new ScmFileSet( 
basedir ), null );
             }
             else
             {
                 File lastOne = mkdirs( basedir, scmRepository );
-                scmProvider.checkOut( scmRepository, new ScmFileSet( basedir 
), null );
+                result = scmProvider.checkOut( scmRepository, new ScmFileSet( 
basedir ), null );
+                checkScmResult( result );
 
                 if ( lastOne != null )
                 {
-                    ScmResult result = scmProvider.checkIn( scmRepository,
+                    result = scmProvider.checkIn( scmRepository,
                                                            new ScmFileSet( 
lastOne.getParentFile(), lastOne ), null,
                                                            msg );
-                    if ( !result.isSuccess() )
-                    {
-                        throw new TransferFailedException( "Unable to commit 
file " + result.getCommandOutput() );
-                    }
                 }
             }
+            checkScmResult( result );
 
             // TODO: detect if it is necessary to add first!
             scmProvider.add( scmRepository, new ScmFileSet( basedir, scmFile ) 
);
-            ScmResult result = scmProvider.checkIn( scmRepository, new 
ScmFileSet( basedir, scmFile ), null, msg );
-            if ( !result.isSuccess() )
-            {
-                throw new TransferFailedException( "Unable to commit file " + 
result.getCommandOutput() );
-            }
+            result = scmProvider.checkIn( scmRepository, new ScmFileSet( 
basedir, scmFile ), null, msg );
+            checkScmResult( result );
+
         }
         catch ( ScmException e )
         {
@@ -194,6 +191,15 @@
         postProcessListeners( resource, source, TransferEvent.REQUEST_PUT );
 
         firePutCompleted( resource, source );
+    }
+
+    private void checkScmResult( ScmResult result ) throws 
TransferFailedException
+    {
+        if ( !result.isSuccess() )
+        {
+            throw new TransferFailedException( "Unable to commit file. " + 
result.getProviderMessage() + " "
+                + result.getCommandOutput() );
+        }
     }
 
     private File mkdirs( File basedir, ScmRepository scmRepository )


Reply via email to