Author: olamy
Date: Mon Sep  3 22:25:41 2012
New Revision: 1380387

URL: http://svn.apache.org/viewvc?rev=1380387&view=rev
Log:
add a method to check if svn remote url exists

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/remoteinfo/SvnRemoteInfoCommand.java
    maven/scm/trunk/pom.xml

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/remoteinfo/SvnRemoteInfoCommand.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/remoteinfo/SvnRemoteInfoCommand.java?rev=1380387&r1=1380386&r2=1380387&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/remoteinfo/SvnRemoteInfoCommand.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/remoteinfo/SvnRemoteInfoCommand.java
 Mon Sep  3 22:25:41 2012
@@ -121,6 +121,44 @@ public class SvnRemoteInfoCommand
         return new RemoteInfoScmResult( cl.toString(), branchesInfos, 
tagsInfos );
     }
 
+    public boolean remoteUrlExist( ScmProviderRepository repository, 
CommandParameters parameters )
+        throws ScmException
+    {
+        String url = ( (SvnScmProviderRepository) repository ).getUrl();
+
+        Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( null, 
(SvnScmProviderRepository) repository );
+
+        cl.createArg().setValue( "ls" );
+
+        cl.createArg().setValue( url );
+
+        CommandLineUtils.StringStreamConsumer stderr = new 
CommandLineUtils.StringStreamConsumer();
+
+        LsConsumer consumer = new LsConsumer( getLogger(), url );
+
+        int exitCode = 0;
+
+        try
+        {
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, 
getLogger() );
+        }
+        catch ( CommandLineException ex )
+        {
+            throw new ScmException( "Error while executing svn command.", ex );
+        }
+
+        if ( exitCode != 0 )
+        {
+            String output = stderr.getOutput();
+            if ( output.indexOf( "W160013" ) >= 0 )
+            {
+                return false;
+            }
+            throw new ScmException( cl.toString() + ".The svn command failed:" 
+ stderr.getOutput() );
+        }
+
+        return true;
+    }
 
     private static class LsConsumer
         extends AbstractConsumer

Modified: maven/scm/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/scm/trunk/pom.xml?rev=1380387&r1=1380386&r2=1380387&view=diff
==============================================================================
--- maven/scm/trunk/pom.xml (original)
+++ maven/scm/trunk/pom.xml Mon Sep  3 22:25:41 2012
@@ -318,6 +318,11 @@
           <artifactId>modello-maven-plugin</artifactId>
           <version>1.1</version>
         </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.12.3</version>
+        </plugin>
       </plugins>
     </pluginManagement>
     <plugins>


Reply via email to