You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/05/22 19:47:42 UTC

[maven-scm] branch remove-commons-lang updated (02c7d2a09 -> 1c7a4d45a)

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a change to branch remove-commons-lang
in repository https://gitbox.apache.org/repos/asf/maven-scm.git


 discard 02c7d2a09 shit
     add c52b5d7c7 Ignore .factorypath
     add bbd23dcfa [SCM-943] scm:check-local-modification does not support excludes
     add 828043a46 [SCM-980] Remove code duplication in ListMojo
     add 915235eaf [SCM-984] Replace use of JUnit 3 PlexusTestCase with Junit 4
     new 1c7a4d45a shit

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (02c7d2a09)
            \
             N -- N -- N   refs/heads/remove-commons-lang (1c7a4d45a)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |   5 +-
 .../java/org/apache/maven/scm/ChangeFileTest.java  |   9 +-
 .../java/org/apache/maven/scm/ChangeSetTest.java   |  29 +-
 .../java/org/apache/maven/scm/ScmFileSetTest.java  |  12 +-
 .../java/org/apache/maven/scm/ScmResultTest.java   |   7 +-
 .../apache/maven/scm/manager/ScmManagerTest.java   |   6 +-
 .../apache/maven/scm/provider/ScmUrlUtilsTest.java |  10 +-
 .../apache/maven/scm/util/FilenameUtilsTest.java   |   7 +-
 .../scm/plugin/CheckLocalModificationsMojo.java    |  21 +-
 .../java/org/apache/maven/scm/plugin/ListMojo.java |  15 -
 maven-scm-providers/maven-scm-provider-hg/pom.xml  |   5 -
 .../apache/maven/scm/provider/hg/HgRepoUtils.java  |   4 +-
 .../hg/command/blame/HgBlameCommandTckTest.java    |   2 +
 .../hg/command/diff/HgDiffCommandTckTest.java      |   4 +
 .../hg/repository/HgScmProviderRepositoryTest.java |  13 +-
 .../maven-scm-provider-local/pom.xml               |   6 +
 .../scm/provider/local/LocalScmProviderTest.java   |   4 +
 .../checkout/LocalCheckOutCommandTckTest.java      |   5 +
 .../command/mkdir/LocalMkdirCommandTckTest.java    |   6 +
 .../command/update/LocalUpdateCommandTckTest.java  |   8 +-
 .../local/repository/LocalRepositoryTest.java      |  15 +-
 .../maven-scm-provider-git-commons/pom.xml         |   7 +-
 .../git/command/diff/GitDiffConsumerTest.java      |  15 +-
 .../repository/GitScmProviderRepositoryTest.java   |  36 +++
 .../maven-scm-provider-gitexe/pom.xml              |   5 -
 .../gitexe/command/add/GitExeAddCommandTest.java   |   7 +-
 .../gitexe/command/blame/GitBlameConsumerTest.java |  13 +-
 .../command/blame/GitExeBlameCommandTckTest.java   |   4 +
 .../command/changelog/GitChangeLogCommandTest.java |  20 +-
 .../changelog/GitChangeLogConsumerTest.java        |  15 +-
 .../checkin/GitCheckInCommandNoBranchTest.java     |   7 +
 .../command/checkin/GitCheckInCommandTest.java     |  10 +
 .../command/checkout/GitCheckOutCommandTest.java   |   5 +
 .../GitExeCheckOutCommandNoBranchTest.java         |   8 +
 .../command/diff/GitDiffRawConsumerTest.java       |   9 +-
 .../gitexe/command/info/GitInfoCommandTckTest.java |  15 +-
 .../remoteinfo/GitExeRemoteInfoCommandTckTest.java |   2 +
 .../remoteinfo/GitRemoteInfoConsumerTest.java      |   8 +-
 .../command/remove/GitRemoveCommandTest.java       |   4 +
 .../command/remove/GitRemoveConsumerTest.java      |  19 +-
 .../command/status/GitStatusConsumerTest.java      |  31 +-
 .../git/gitexe/command/tag/GitTagCommandTest.java  |   8 +-
 .../GitLatestRevisionCommandConsumerTest.java      |   9 +-
 .../command/update/GitUpdateCommandTest.java       |   5 +-
 .../maven-scm-provider-gittest/pom.xml             |   4 -
 .../maven/scm/provider/git/GitScmTestUtils.java    |   4 +-
 .../changelog/GitChangeLogCommandTckTest.java      |  10 +
 .../maven-scm-provider-jgit/pom.xml                |   5 +
 .../JGitCheckInCommandCommitterAuthorTckTest.java  |  19 +-
 .../remoteinfo/JGitRemoteInfoCommandTckTest.java   |   2 +
 .../maven-scm-provider-svn-commons/pom.xml         |   6 +
 .../scm/provider/svn/SvnCommandUtilsTest.java      |   9 +
 .../scm/provider/svn/SvnTagBranchUtilsTest.java    |  25 ++
 .../repository/SvnScmProviderRepositoryTest.java   |  32 +-
 .../maven-scm-provider-svnexe/pom.xml              |   5 -
 .../svnexe/command/SvnCommandLineUtilsTest.java    |   3 +
 .../command/blame/SvnExeBlameCommandTckTest.java   |   2 +
 .../command/branch/SvnExeBranchCommandTckTest.java |   7 +
 .../command/changelog/SvnChangeLogCommandTest.java |  15 +
 .../changelog/SvnChangeLogConsumerTest.java        |  30 +-
 .../command/checkin/SvnCheckInCommandTest.java     |  11 +-
 .../command/checkout/SvnCheckOutCommandTest.java   |   8 +
 .../command/export/SvnExportCommandTest.java       |   3 +
 .../svnexe/command/info/SvnInfoCommandTest.java    |   2 +
 .../svnexe/command/list/SvnListCommandTest.java    |   6 +
 .../svnexe/command/mkdir/SvnMkdirCommandTest.java  |  16 +-
 .../remoteinfo/SvnExeRemoteInfoCommandTckTest.java |   2 +
 .../remoteinfo/SvnRemoteInfoCommandTest.java       |   6 +
 .../command/tag/SvnExeTagCommandTckTest.java       |   6 +
 .../command/untag/SvnExeUntagCommandTckTest.java   |   3 +
 .../svnexe/command/untag/SvnUntagCommandTest.java  |   3 +
 .../command/update/SvnUpdateCommandTest.java       |  18 ++
 .../svn/command/blame/SvnBlameCommandTckTest.java  |   2 +
 .../svn/command/mkdir/SvnMkdirCommandTckTest.java  |  11 +-
 maven-scm-test/pom.xml                             |   1 -
 .../apache/maven/scm/PlexusJUnit4TestSupport.java  | 323 +++++++++++++++++++++
 .../java/org/apache/maven/scm/ScmTckTestCase.java  |  17 +-
 .../java/org/apache/maven/scm/ScmTestCase.java     |  31 +-
 .../scm/tck/command/blame/BlameCommandTckTest.java |   5 +
 .../tck/command/branch/BranchCommandTckTest.java   |   5 +
 .../command/changelog/ChangeLogCommandTckTest.java |   5 +
 .../tck/command/checkin/CheckInCommandTckTest.java |   8 +
 .../command/checkout/CheckOutCommandTckTest.java   |   4 +
 .../scm/tck/command/diff/DiffCommandTckTest.java   |   6 +
 .../scm/tck/command/list/ListCommandTckTest.java   |   8 +
 .../scm/tck/command/mkdir/MkdirCommandTckTest.java |   5 +
 .../AbstractRemoteInfoCommandTckTest.java          |   2 +
 .../tck/command/status/StatusCommandTckTest.java   |   7 +
 .../scm/tck/command/tag/TagCommandTckTest.java     |   5 +
 .../scm/tck/command/untag/UntagCommandTckTest.java |   4 +
 .../tck/command/update/UpdateCommandTckTest.java   |   7 +
 .../maven/scm/manager/ScmManagerStubTest.java      |  17 +-
 92 files changed, 1031 insertions(+), 159 deletions(-)
 create mode 100644 maven-scm-test/src/main/java/org/apache/maven/scm/PlexusJUnit4TestSupport.java


[maven-scm] 01/01: shit

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch remove-commons-lang
in repository https://gitbox.apache.org/repos/asf/maven-scm.git

commit 1c7a4d45aabc70d2415acabd691c738a31afaecc
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun May 22 01:17:00 2022 +0200

    shit
---
 .../maven-scm-provider-gitexe/pom.xml              |  4 --
 .../gitexe/command/status/GitStatusConsumer.java   | 52 +++++++++++-----------
 .../maven-scm-provider-svnexe/pom.xml              |  4 --
 .../command/checkout/SvnCheckOutConsumer.java      |  2 +-
 .../command/remoteinfo/SvnRemoteInfoCommand.java   | 16 +++----
 ...=> AbstractSvnExeRemoteInfoCommandTckTest.java} | 22 ++++-----
 .../remoteinfo/SvnExeRemoteInfoCommandTckTest.java | 12 +----
 ...nExeRemoteInfoCommandTrailingSlashTckTest.java} | 18 ++------
 pom.xml                                            |  5 ---
 9 files changed, 49 insertions(+), 86 deletions(-)

diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
index 5cbfee271..128dbab75 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
@@ -46,10 +46,6 @@
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
index a575527e4..f54a9e42d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
@@ -28,11 +28,11 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.util.AbstractConsumer;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -71,14 +71,14 @@ public class GitStatusConsumer
     private final List<ScmFile> changedFiles = new ArrayList<>();
 
     private URI relativeRepositoryPath;
-    
+
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
     /**
      * Consumer when workingDirectory and repositoryRootDirectory are the same
-     * 
+     *
      * @param workingDirectory the working directory
      */
     public GitStatusConsumer( File workingDirectory )
@@ -92,7 +92,7 @@ public class GitStatusConsumer
      * <pre>
      * URI.create( repositoryRoot ).relativize( fileSet.getBasedir().toURI() )
      * </pre>
-     * 
+     *
      * @param workingDirectory the working directory
      * @param relativeRepositoryPath the working directory relative to the repository root
      * @since 1.9
@@ -151,19 +151,19 @@ public class GitStatusConsumer
      */
     public void consumeLine( String line )
     {
-        if ( logger.isDebugEnabled() )
-        {
-            logger.debug( line );
-        }
         if ( StringUtils.isEmpty( line ) )
         {
             return;
         }
+        if ( logger.isDebugEnabled() )
+        {
+            logger.debug( line );
+        }
 
         ScmFileStatus status = null;
 
         List<String> files = new ArrayList<String>();
-        
+
         Matcher matcher;
         if ( ( matcher = ADDED_PATTERN.matcher( line ) ).find() )
         {
@@ -294,7 +294,7 @@ public class GitStatusConsumer
     }
 
     /**
-     * 
+     *
      * @param fileEntry the fileEntry, must not be {@code null}
      * @param path the path, must not be {@code null}
      * @return TODO
@@ -310,7 +310,7 @@ public class GitStatusConsumer
     /**
      * Create an URI whose getPath() returns the given path and getScheme() returns null. The path may contain spaces,
      * colons, and other special characters.
-     * 
+     *
      * @param path the path.
      * @return the new URI
      */
@@ -352,10 +352,10 @@ public class GitStatusConsumer
                         ? unescape( str.substring( 1, strLen - 1 ) )
                         : str;
     }
-    
+
     /**
      * Dequote a quoted string generated by git status --porcelain.
-     * The leading and trailing quotes have already been removed. 
+     * The leading and trailing quotes have already been removed.
      * @param fileEntry
      * @return TODO
      */
@@ -367,13 +367,13 @@ public class GitStatusConsumer
         {
             return fileEntry;
         }
-        
+
         // We have escaped characters
         byte[] inba = fileEntry.getBytes();
         int inSub = 0;      // Input subscript into fileEntry
         byte[] outba = new byte[fileEntry.length()];
         int outSub = 0;     // Output subscript into outba
-        
+
         while ( true )
         {
             System.arraycopy( inba,  inSub,  outba, outSub, pos - inSub );
@@ -384,39 +384,39 @@ public class GitStatusConsumer
                 case '"':
                     outba[outSub++] = '"';
                     break;
-                    
+
                 case 'a':
                     outba[outSub++] = 7;        // Bell
                     break;
-                    
+
                 case 'b':
                     outba[outSub++] = '\b';
                     break;
-                    
+
                 case 't':
                     outba[outSub++] = '\t';
                     break;
-                    
+
                 case 'n':
                     outba[outSub++] = '\n';
                     break;
-                    
+
                 case 'v':
                     outba[outSub++] = 11;       // Vertical tab
                     break;
-                    
+
                 case 'f':
                     outba[outSub++] = '\f';
                     break;
-                    
+
                 case 'r':
                     outba[outSub++] = '\f';
                     break;
-                    
+
                 case '\\':
                     outba[outSub++] = '\\';
                     break;
-                    
+
                 case '0':
                 case '1':
                 case '2':
@@ -427,7 +427,7 @@ public class GitStatusConsumer
                     b |= (byte) ( inba[inSub++] - '0' );
                     outba[outSub++] = b;
                     break;
-                    
+
                 default:
                     //This is an invalid escape in a string.  Just copy it.
                     outba[outSub++] = '\\';
@@ -449,7 +449,7 @@ public class GitStatusConsumer
         }
         catch ( UnsupportedEncodingException e )
         {
-          throw new RuntimeException( e );    
+          throw new RuntimeException( e );
         }
     }
 }
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
index 75565a572..c981de5d3 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
@@ -48,10 +48,6 @@
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svn-commons</artifactId>
     </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
index 1984f5098..cea907645 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
@@ -19,10 +19,10 @@ package org.apache.maven.scm.provider.svn.svnexe.command.checkout;
  * under the License.
  */
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.provider.svn.svnexe.command.AbstractFileCheckingConsumer;
+import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
 import java.util.ArrayList;
diff --git a/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 b/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
index 74de1ee0f..ccc083213 100644
--- a/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
+++ b/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
@@ -19,7 +19,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.remoteinfo;
  * under the License.
  */
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.maven.scm.CommandParameters;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
@@ -30,6 +29,7 @@ import org.apache.maven.scm.provider.svn.command.SvnCommand;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.provider.svn.svnexe.command.SvnCommandLineUtils;
 import org.apache.maven.scm.util.AbstractConsumer;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -54,9 +54,9 @@ public class SvnRemoteInfoCommand
         String url = ( (SvnScmProviderRepository) repository ).getUrl();
         // use a default svn layout, url is here http://svn.apache.org/repos/asf/maven/maven-3/trunk
         // so as we presume we have good users using standard svn layout, we calculate tags and branches url
-        String baseUrl = StringUtils.endsWith( url, "/" )
-            ? StringUtils.substringAfter( StringUtils.removeEnd( url, "/" ), "/" )
-            : StringUtils.substringBeforeLast( url, "/" );
+        url = StringUtils.stripEnd( url, "/" );
+        int idx = url.lastIndexOf( "/" );
+        String baseUrl = url.substring( 0, idx );
 
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( fileSet == null ? null : fileSet.getBasedir(),
                                                                     (SvnScmProviderRepository) repository );
@@ -67,7 +67,7 @@ public class SvnRemoteInfoCommand
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        LsConsumer consumer = new LsConsumer( baseUrl );
+        LsConsumer consumer = new LsConsumer( baseUrl + "/tags" );
 
         int exitCode = 0;
 
@@ -94,11 +94,11 @@ public class SvnRemoteInfoCommand
 
         cl.createArg().setValue( "ls" );
 
-        cl.createArg().setValue( baseUrl + "/tags" + "@" );
+        cl.createArg().setValue( baseUrl + "/branches" + "@" );
 
         stderr = new CommandLineUtils.StringStreamConsumer();
 
-        consumer = new LsConsumer( baseUrl );
+        consumer = new LsConsumer( baseUrl + "/branches" );
 
         Map<String, String> branchesInfos = null;
 
@@ -176,7 +176,7 @@ public class SvnRemoteInfoCommand
 
         public void consumeLine( String s )
         {
-            infos.put( StringUtils.removeEnd( s, "/" ), url + "/" + s );
+            infos.put( StringUtils.stripEnd( s, "/" ), url + "/" + s );
         }
 
         Map<String, String> getInfos()
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/AbstractSvnExeRemoteInfoCommandTckTest.java
similarity index 70%
copy from maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
copy to maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/AbstractSvnExeRemoteInfoCommandTckTest.java
index 117a0070f..3aa1bc4ae 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/AbstractSvnExeRemoteInfoCommandTckTest.java
@@ -20,30 +20,24 @@ package org.apache.maven.scm.provider.svn.svnexe.command.remoteinfo;
  */
 
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
-import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.svn.command.remoteinfo.AbstractSvnRemoteInfoCommandTckTest;
-import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
-
-import static org.junit.Assert.assertTrue;
 
 /**
  * @author Bertrand Paquet
  */
-public class SvnExeRemoteInfoCommandTckTest
+public abstract class AbstractSvnExeRemoteInfoCommandTckTest
     extends AbstractSvnRemoteInfoCommandTckTest
 {
 
     @Override
     protected void checkResult( RemoteInfoScmResult result )
     {
-        assertTrue( result.getTags().keySet().contains( "maven-3.0" ) );
-    }
-
-    @Override
-    protected ScmProviderRepository getScmProviderRepository()
-        throws Exception
-    {
-        return new SvnScmProviderRepository( "http://svn.apache.org/repos/asf/maven/maven-3/trunk" );
+        assertTrue( result.getTags().containsKey( "maven-3.0" ) );
+        String tagUrl = result.getTags().get( "maven-3.0" );
+        assertTrue( tagUrl.endsWith( "/tags/maven-3.0/" ) );
+        assertTrue( result.getBranches().containsKey( "MNG-3004" ) );
+        String branchUrl = result.getBranches().get( "MNG-3004" );
+        assertTrue( branchUrl.endsWith( "/branches/MNG-3004/" ) );
     }
 
-}
\ No newline at end of file
+}
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
index 117a0070f..958fbdcdb 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
@@ -19,9 +19,7 @@ package org.apache.maven.scm.provider.svn.svnexe.command.remoteinfo;
  * under the License.
  */
 
-import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
-import org.apache.maven.scm.provider.svn.command.remoteinfo.AbstractSvnRemoteInfoCommandTckTest;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 
 import static org.junit.Assert.assertTrue;
@@ -30,15 +28,9 @@ import static org.junit.Assert.assertTrue;
  * @author Bertrand Paquet
  */
 public class SvnExeRemoteInfoCommandTckTest
-    extends AbstractSvnRemoteInfoCommandTckTest
+    extends AbstractSvnExeRemoteInfoCommandTckTest
 {
 
-    @Override
-    protected void checkResult( RemoteInfoScmResult result )
-    {
-        assertTrue( result.getTags().keySet().contains( "maven-3.0" ) );
-    }
-
     @Override
     protected ScmProviderRepository getScmProviderRepository()
         throws Exception
@@ -46,4 +38,4 @@ public class SvnExeRemoteInfoCommandTckTest
         return new SvnScmProviderRepository( "http://svn.apache.org/repos/asf/maven/maven-3/trunk" );
     }
 
-}
\ No newline at end of file
+}
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTrailingSlashTckTest.java
similarity index 71%
copy from maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
copy to maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTrailingSlashTckTest.java
index 117a0070f..70bfd965a 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnExeRemoteInfoCommandTrailingSlashTckTest.java
@@ -19,31 +19,21 @@ package org.apache.maven.scm.provider.svn.svnexe.command.remoteinfo;
  * under the License.
  */
 
-import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
-import org.apache.maven.scm.provider.svn.command.remoteinfo.AbstractSvnRemoteInfoCommandTckTest;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 
-import static org.junit.Assert.assertTrue;
-
 /**
  * @author Bertrand Paquet
  */
-public class SvnExeRemoteInfoCommandTckTest
-    extends AbstractSvnRemoteInfoCommandTckTest
+public class SvnExeRemoteInfoCommandTrailingSlashTckTest
+    extends AbstractSvnExeRemoteInfoCommandTckTest
 {
 
-    @Override
-    protected void checkResult( RemoteInfoScmResult result )
-    {
-        assertTrue( result.getTags().keySet().contains( "maven-3.0" ) );
-    }
-
     @Override
     protected ScmProviderRepository getScmProviderRepository()
         throws Exception
     {
-        return new SvnScmProviderRepository( "http://svn.apache.org/repos/asf/maven/maven-3/trunk" );
+        return new SvnScmProviderRepository( "http://svn.apache.org/repos/asf/maven/maven-3/trunk/" );
     }
 
-}
\ No newline at end of file
+}
diff --git a/pom.xml b/pom.xml
index 4e4a368da..082f4596a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -237,11 +237,6 @@
         <version>2.0</version>
       </dependency>
 
-      <dependency>
-        <groupId>commons-lang</groupId>
-        <artifactId>commons-lang</artifactId>
-        <version>2.6</version>
-      </dependency>
       <dependency>
         <groupId>commons-io</groupId>
         <artifactId>commons-io</artifactId>