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/25 08:42:00 UTC

[maven-scm] branch SCM-986 updated (27799d79b -> 5447abdbd)

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

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


 discard 27799d79b [SCM-986] SvnExe's SvnRemoteInfoCommand incorrectly implemented
     new 5447abdbd [SCM-986] SvnExe's SvnRemoteInfoCommand incorrectly implemented

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   (27799d79b)
            \
             N -- N -- N   refs/heads/SCM-986 (5447abdbd)

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:
 .../command/remoteinfo/AbstractSvnExeRemoteInfoCommandTckTest.java       | 1 +
 1 file changed, 1 insertion(+)


[maven-scm] 01/01: [SCM-986] SvnExe's SvnRemoteInfoCommand incorrectly implemented

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

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

commit 5447abdbd58d9e888229ba9d3cefe0db1c088e6f
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun May 22 22:11:06 2022 +0200

    [SCM-986] SvnExe's SvnRemoteInfoCommand incorrectly implemented
    
    This closes #145
---
 .../command/remoteinfo/SvnRemoteInfoCommand.java   | 12 +++++------
 ...=> AbstractSvnExeRemoteInfoCommandTckTest.java} | 21 ++++++++-----------
 .../remoteinfo/SvnExeRemoteInfoCommandTckTest.java | 20 ++----------------
 ...nExeRemoteInfoCommandTrailingSlashTckTest.java} | 24 ++++------------------
 4 files changed, 21 insertions(+), 56 deletions(-)

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..1f577123f 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
@@ -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.removeEnd( 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;
 
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 75%
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 c3d3581fd..7f1e5612f 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,9 +20,7 @@ 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.apache.maven.scm.provider.svn.SvnScmTestUtils.SVN_COMMAND_LINE;
 import static org.junit.Assert.assertTrue;
@@ -30,9 +28,10 @@ import static org.junit.Assert.assertTrue;
 /**
  * @author Bertrand Paquet
  */
-public class SvnExeRemoteInfoCommandTckTest
+public abstract class AbstractSvnExeRemoteInfoCommandTckTest
     extends AbstractSvnRemoteInfoCommandTckTest
 {
+
     @Override
     public String getScmProviderCommand()
     {
@@ -42,14 +41,12 @@ public class SvnExeRemoteInfoCommandTckTest
     @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 c3d3581fd..458c70fc8 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,31 +19,15 @@ 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.apache.maven.scm.provider.svn.SvnScmTestUtils.SVN_COMMAND_LINE;
-import static org.junit.Assert.assertTrue;
-
 /**
  * @author Bertrand Paquet
  */
 public class SvnExeRemoteInfoCommandTckTest
-    extends AbstractSvnRemoteInfoCommandTckTest
+    extends AbstractSvnExeRemoteInfoCommandTckTest
 {
-    @Override
-    public String getScmProviderCommand()
-    {
-        return SVN_COMMAND_LINE;
-    }
-
-    @Override
-    protected void checkResult( RemoteInfoScmResult result )
-    {
-        assertTrue( result.getTags().keySet().contains( "maven-3.0" ) );
-    }
 
     @Override
     protected ScmProviderRepository getScmProviderRepository()
@@ -52,4 +36,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 64%
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 c3d3581fd..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,37 +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.apache.maven.scm.provider.svn.SvnScmTestUtils.SVN_COMMAND_LINE;
-import static org.junit.Assert.assertTrue;
-
 /**
  * @author Bertrand Paquet
  */
-public class SvnExeRemoteInfoCommandTckTest
-    extends AbstractSvnRemoteInfoCommandTckTest
+public class SvnExeRemoteInfoCommandTrailingSlashTckTest
+    extends AbstractSvnExeRemoteInfoCommandTckTest
 {
-    @Override
-    public String getScmProviderCommand()
-    {
-        return SVN_COMMAND_LINE;
-    }
-
-    @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
+}