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() ); } // ----------------------------------------------------------------------