You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by vs...@apache.org on 2008/08/19 12:53:02 UTC

svn commit: r687016 - in /maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src: main/java/org/apache/maven/scm/provider/cvslib/repository/ test/java/org/apache/maven/scm/provider/cvslib/repository/

Author: vsiveton
Date: Tue Aug 19 03:53:00 2008
New Revision: 687016

URL: http://svn.apache.org/viewvc?rev=687016&view=rev
Log:
SCM-387: CvsScmProviderRepository returns wrong CVSROOT for local repository
Submitted by: Sergey Zakusov
Reviewed by: Vincent Siveton

o applied proposed patch
o added test case

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java?rev=687016&r1=687015&r2=687016&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java Tue Aug 19 03:53:00 2008
@@ -98,21 +98,21 @@
      */
     public String getCvsRootForCvsPass()
     {
-        if ( getUser() != null )
+        String result;
+        String transport = getTransport();
+        if ( AbstractCvsScmProvider.TRANSPORT_LOCAL.equals( transport ) )
         {
-            return getCvsRootWithCorrectUser( getUser() );
+            result = ":" + transport + ":" + cvsroot;
+        }
+        else if ( getUser() != null )
+        {
+            result = getCvsRootWithCorrectUser( getUser() );
         }
         else
         {
-            if ( AbstractCvsScmProvider.TRANSPORT_LOCAL.equals( getTransport() ) )
-            {
-                return cvsroot;
-            }
-            else
-            {
-                throw new IllegalArgumentException( "Username isn't defined." );
-            }
+            throw new IllegalArgumentException( "Username isn't defined." );
         }
+        return result;
     }
 
     /**
@@ -178,9 +178,6 @@
         {
             if ( AbstractCvsScmProvider.TRANSPORT_LOCAL.equals( getTransport() ) )
             {
-                sb.append( ":" );
-                sb.append( getTransport() );
-                sb.append( ":" );
                 sb.append( getCvsRoot() );
             }
             else

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java?rev=687016&r1=687015&r2=687016&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java Tue Aug 19 03:53:00 2008
@@ -255,7 +255,22 @@
 
         assertEquals( "/home/cvspublic", repo.getPath() );
 
-        assertEquals( "/home/cvspublic", repo.getCvsRoot() );
+        assertEquals( ":local:/home/cvspublic", repo.getCvsRoot() );
+    }
+
+    /**
+     * Test SCM-387
+     *
+     * @throws Exception
+     */
+    public void testGetCvsRootForCvsPass()
+        throws Exception
+    {
+        String url = "scm:cvs|local|c:/cvsroot|test";
+
+        ScmRepository repository = scmManager.makeScmRepository( url );
+        CvsScmProviderRepository repo = (CvsScmProviderRepository) repository.getProviderRepository();
+        assertEquals( ":local:c:/cvsroot", repo.getCvsRootForCvsPass() );
     }
 
     // ----------------------------------------------------------------------