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 ev...@apache.org on 2007/04/02 22:02:50 UTC

svn commit: r524909 [4/4] - in /maven/scm/trunk: maven-scm-api/src/main/java/org/apache/maven/scm/ maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/ maven-scm-api/src/m...

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/command/list/AbstractCvsListCommand.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/command/list/AbstractCvsListCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.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/command/list/AbstractCvsListCommand.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,7 @@
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.list.AbstractListCommand;
 import org.apache.maven.scm.command.list.ListScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -38,17 +39,17 @@
     implements CvsCommand
 {
     protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
-                                                String tag )
+                                                ScmVersion version )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
 
         Commandline cl = CvsCommandUtils.getBaseCommand( "rls", repository, fileSet, "-n" );
 
-        if ( !StringUtils.isEmpty( tag ) )
+        if ( version != null && !StringUtils.isEmpty( version.getName() ) )
         {
             cl.createArgument().setValue( "-r" );
-            cl.createArgument().setValue( tag );
+            cl.createArgument().setValue( version.getName() );
         }
 
         cl.createArgument().setValue( "-d" );

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/command/update/AbstractCvsUpdateCommand.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/command/update/AbstractCvsUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/AbstractCvsUpdateCommand.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/command/update/AbstractCvsUpdateCommand.java Mon Apr  2 13:02:44 2007
@@ -21,12 +21,14 @@
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.cvslib.command.CvsCommand;
 import org.apache.maven.scm.provider.cvslib.command.CvsCommandUtils;
 import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
 /**
@@ -38,7 +40,7 @@
     extends AbstractUpdateCommand
     implements CvsCommand
 {
-    public UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    public UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
@@ -47,9 +49,9 @@
 
         cl.createArgument().setValue( "-d" );
 
-        if ( tag != null )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            cl.createArgument().setValue( "-r" + tag );
+            cl.createArgument().setValue( "-r" + version.getName() );
         }
 
         getLogger().info( "Executing: " + cl );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,7 @@
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest;
@@ -50,7 +51,7 @@
         ScmManager scmManager = getScmManager();
 
         CheckOutScmResult result = scmManager.getProviderByRepository( getScmRepository() ).checkOut(
-            getScmRepository(), getScmFileSet(), null );
+            getScmRepository(), getScmFileSet(), (ScmVersion) null );
 
         if ( !result.isSuccess() )
         {

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java Mon Apr  2 13:02:44 2007
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest;
@@ -93,7 +94,7 @@
         UpdateScmResult result = scmManager.getProviderByRepository( scmRepository ).update( scmRepository,
                                                                                              new ScmFileSet(
                                                                                                  assertionDirectory ),
-                                                                                             null );
+                                                                                             (ScmVersion) null );
 
         assertNotNull( result );
 
@@ -145,7 +146,7 @@
         // Check the updated files
         result = scmManager.getProviderByRepository( scmRepository ).update( scmRepository,
                                                                              new ScmFileSet( assertionDirectory ),
-                                                                             null );
+                                                                             (ScmVersion) null );
 
         assertNotNull( result );
 

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java Mon Apr  2 13:02:44 2007
@@ -19,6 +19,9 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
+import org.apache.maven.scm.ScmTag;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -105,15 +108,15 @@
 
     /**
      * Resolves a tag to a repository url.
-     * By supplying the repository to this function (rather than calling {@link #resolveTagUrl(String,String)}
+     * By supplying the repository to this function (rather than calling {@link #resolveTagUrl(String,ScmTag)}
      * the resolution can use the repository's tagBase to override the default tag location.
      *
      * @param repository the repository to use as a base for tag resolution
      * @param tag        tag name
      * @return
-     * @see #resolveUrl(String,String,String,String)
+     * @see #resolveUrl(String,String,String,ScmBranch)
      */
-    public static String resolveTagUrl( SvnScmProviderRepository repository, String tag )
+    public static String resolveTagUrl( SvnScmProviderRepository repository, ScmTag tag )
     {
         return resolveUrl( repository.getUrl(), repository.getTagBase(), SVN_TAGS, tag );
     }
@@ -125,24 +128,24 @@
      * @param repositoryUrl string url for the repository
      * @param tag           tag name
      * @return
-     * @see #resolveUrl(String,String,String,String)
+     * @see #resolveUrl(String,String,String,ScmBranch)
      */
-    public static String resolveTagUrl( String repositoryUrl, String tag )
+    public static String resolveTagUrl( String repositoryUrl, ScmTag tag )
     {
         return resolveUrl( repositoryUrl, null, SVN_TAGS, tag );
     }
 
     /**
      * Resolves a branch name to a repository url.
-     * By supplying the repository to this function (rather than calling {@link #resolveBranchUrl(String,String)}
+     * By supplying the repository to this function (rather than calling {@link #resolveBranchUrl(String,ScmBranch)}
      * the resolution can use the repository's tagBase to override the default tag location.
      *
      * @param repository the repository to use as a base for tag resolution
      * @param branch     tag name
      * @return
-     * @see #resolveUrl(String,String,String,String)
+     * @see #resolveUrl(String,String,String,ScmBranch)
      */
-    public static String resolveBranchUrl( SvnScmProviderRepository repository, String branch )
+    public static String resolveBranchUrl( SvnScmProviderRepository repository, ScmBranch branch )
     {
         return resolveUrl( repository.getUrl(), repository.getBranchBase(), SVN_BRANCHES, branch );
     }
@@ -154,9 +157,9 @@
      * @param repositoryUrl string url for the repository
      * @param branch        branch name
      * @return
-     * @see #resolveUrl(String,String,String,String)
+     * @see #resolveUrl(String,String,String,ScmBranch)
      */
-    public static String resolveBranchUrl( String repositoryUrl, String branch )
+    public static String resolveBranchUrl( String repositoryUrl, ScmBranch branch )
     {
         return resolveUrl( repositoryUrl, resolveBranchBase( repositoryUrl ), SVN_BRANCHES, branch );
     }
@@ -184,12 +187,13 @@
      * @param tagBase       tagBase to use.
      * @param subdir        Subdirectory to append to the project root
      *                      (for branching use "branches", tags use "tags")
-     * @param branchTagName Name of the actual branch or tag. Can be an absolute url, simple tag/branch name,
+     * @param branchTag     Name of the actual branch or tag. Can be an absolute url, simple tag/branch name,
      *                      or even contain a relative path to the root like "branches/my-branch"
      * @return
      */
-    public static String resolveUrl( String repositoryUrl, String tagBase, String subdir, String branchTagName )
+    public static String resolveUrl( String repositoryUrl, String tagBase, String subdir, ScmBranch branchTag )
     {
+        String branchTagName = branchTag.getName();
         String projectRoot = getProjectRoot( repositoryUrl );
         branchTagName = StringUtils.strip( branchTagName, "/" );
 
@@ -265,19 +269,26 @@
      * For command such as diff, the revision argument can be in the format of:
      * IDENTIFIER:IDENTIFIER   where IDENTIFIER is one of the args listed above
      */
-    public static boolean isRevisionSpecifier( String tag )
+    public static boolean isRevisionSpecifier( ScmVersion version )
     {
-        if ( StringUtils.isEmpty( tag ) )
+        if ( version == null )
         {
             return false;
         }
 
-        if ( checkRevisionArg( tag ) )
+        String versionName = version.getName();
+
+        if ( StringUtils.isEmpty( versionName ) )
+        {
+            return false;
+        }
+
+        if ( checkRevisionArg( versionName ) )
         {
             return true;
         }
 
-        String[] parts = StringUtils.split( tag, ":" );
+        String[] parts = StringUtils.split( versionName, ":" );
         if ( parts.length == 2 && StringUtils.isNotEmpty( parts[0] ) && StringUtils.isNotEmpty( parts[1] ) )
         {
             return checkRevisionArg( parts[0] ) && checkRevisionArg( parts[1] );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java Mon Apr  2 13:02:44 2007
@@ -19,6 +19,9 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -162,7 +165,7 @@
         throws Exception
     {
         assertEquals( "http://foo.com/cgi-bin/viewcvs.cgi/svn/tags/my-tag?root=test", SvnTagBranchUtils.resolveTagUrl(
-            "http://foo.com/cgi-bin/viewcvs.cgi/svn/trunk/?root=test", "/my-tag/" ) );
+            "http://foo.com/cgi-bin/viewcvs.cgi/svn/trunk/?root=test", new ScmTag( "/my-tag/" ) ) );
     }
 
     public void testResolveTagWithSlashes()
@@ -248,34 +251,34 @@
 
     public void testIsRevisionArgumentSimple()
     {
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "12345" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "12345" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "hEaD" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "hEaD" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "bAsE" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "bAsE" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "cOmMiTtEd" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "cOmMiTtEd" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "pReV" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "pReV" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "{2005-1-1}" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "{2005-1-1}" ) ) );
 
     }
 
     public void testIsRevisionArgumentRange()
     {
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "12345:12345" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "12345:12345" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "1:2" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "1:2" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "hEaD:bAsE" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "hEaD:bAsE" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "BaSe:CoMmItTeD" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "BaSe:CoMmItTeD" ) ) );
 
-        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( "{2004-1-1}:{2005-1-1}" ) );
+        assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "{2004-1-1}:{2005-1-1}" ) ) );
 
-        assertFalse( SvnTagBranchUtils.isRevisionSpecifier( "BASE:" ) );
-        assertFalse( SvnTagBranchUtils.isRevisionSpecifier( ":BASE" ) );
+        assertFalse( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "BASE:" ) ) );
+        assertFalse( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( ":BASE" ) ) );
 
     }
 
@@ -322,7 +325,7 @@
             assertEquals( repository.getTagBase(), SvnTagBranchUtils.resolveTagBase( repository.getUrl() ) );
         }
 
-        assertEquals( expected, SvnTagBranchUtils.resolveTagUrl( repository, tag ) );
+        assertEquals( expected, SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag ) ) );
     }
 
     private void testResolveBranchUrl( String scmUrl, String branch, String expected )
@@ -349,7 +352,7 @@
             assertEquals( repository.getBranchBase(), SvnTagBranchUtils.resolveBranchBase( repository.getUrl() ) );
         }
 
-        assertEquals( expected, SvnTagBranchUtils.resolveBranchUrl( repository, branch ) );
+        assertEquals( expected, SvnTagBranchUtils.resolveBranchUrl( repository, new ScmBranch( branch ) ) );
     }
 
 }

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/changelog/SvnChangeLogCommand.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/changelog/SvnChangeLogCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/changelog/SvnChangeLogCommand.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/changelog/SvnChangeLogCommand.java Mon Apr  2 13:02:44 2007
@@ -19,8 +19,10 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.changelog.ChangeLogSet;
@@ -50,7 +52,7 @@
     private final static String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
 
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
-                                                          Date startDate, Date endDate, String branch,
+                                                          Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {
@@ -89,7 +91,7 @@
     // ----------------------------------------------------------------------
 
     public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory,
-                                                 String branch, Date startDate, Date endDate )
+                                                 ScmBranch branch, Date startDate, Date endDate )
     {
         SimpleDateFormat dateFormat = new SimpleDateFormat( DATE_FORMAT );
 
@@ -118,11 +120,18 @@
             }
         }
 
-        if ( StringUtils.isNotEmpty( branch ) )
+        if ( branch != null && StringUtils.isNotEmpty( branch.getName() ) )
         {
             // By specifying a branch and this repository url below, subversion should show 
             // the changelog of that branch, but limit it to paths that also occur in this repository.
-            cl.createArgument().setValue( SvnTagBranchUtils.resolveBranchUrl( repository, branch ) );
+            if ( branch instanceof ScmTag )
+            {
+                cl.createArgument().setValue( SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) branch ) );
+            }
+            else
+            {
+                cl.createArgument().setValue( SvnTagBranchUtils.resolveBranchUrl( repository, branch ) );
+            }
         }
 
         cl.createArgument().setValue( repository.getUrl() );

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/checkin/SvnCheckInCommand.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/checkin/SvnCheckInCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/checkin/SvnCheckInCommand.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/checkin/SvnCheckInCommand.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,7 @@
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkin.AbstractCheckInCommand;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -45,12 +46,12 @@
     implements SvnCommand
 {
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
-                                                      String tag )
+                                                      ScmVersion version )
         throws ScmException
     {
-        if ( !StringUtils.isEmpty( tag ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            throw new ScmException( "This provider can't handle tags." );
+            throw new ScmException( "This provider command can't handle tags." );
         }
 
         File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null );

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/checkout/SvnCheckOutCommand.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/checkout/SvnCheckOutCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/checkout/SvnCheckOutCommand.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/checkout/SvnCheckOutCommand.java Mon Apr  2 13:02:44 2007
@@ -19,8 +19,12 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmTag;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkout.AbstractCheckOutCommand;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -44,22 +48,29 @@
     extends AbstractCheckOutCommand
     implements SvnCommand
 {
-    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                        ScmVersion version )
         throws ScmException
     {
         SvnScmProviderRepository repository = (SvnScmProviderRepository) repo;
 
         String url = repository.getUrl();
 
-        if ( tag != null && StringUtils.isNotEmpty( tag.trim() ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            url = SvnTagBranchUtils.resolveTagUrl( repository, tag );
+            if ( version instanceof ScmTag )
+            {
+                url = SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) version );
+            }
+            else if ( version instanceof ScmBranch )
+            {
+                url = SvnTagBranchUtils.resolveBranchUrl( repository, (ScmBranch) version );
+            }
         }
 
         url = SvnCommandUtils.fixUrl( url, repository.getUser() );
 
-        // TODO: revision
-        Commandline cl = createCommandLine( repository, fileSet.getBasedir(), null, url );
+        Commandline cl = createCommandLine( repository, fileSet.getBasedir(), version, url );
 
         SvnCheckOutConsumer consumer = new SvnCheckOutConsumer( getLogger(), fileSet.getBasedir().getParentFile() );
 
@@ -92,17 +103,20 @@
     // ----------------------------------------------------------------------
 
     public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory,
-                                                 String revision, String url )
+                                                 ScmVersion version, String url )
     {
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( workingDirectory.getParentFile(), repository );
 
         cl.createArgument().setValue( "checkout" );
 
-        if ( StringUtils.isNotEmpty( revision ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            cl.createArgument().setValue( "-r" );
+            if ( version instanceof ScmRevision )
+            {
+                cl.createArgument().setValue( "-r" );
 
-            cl.createArgument().setValue( revision );
+                cl.createArgument().setValue( version.getName() );
+            }
         }
 
         cl.createArgument().setValue( url );

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/diff/SvnDiffCommand.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/diff/SvnDiffCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/diff/SvnDiffCommand.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/diff/SvnDiffCommand.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,7 @@
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.diff.AbstractDiffCommand;
 import org.apache.maven.scm.command.diff.DiffScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -43,12 +44,12 @@
     extends AbstractDiffCommand
     implements SvnCommand
 {
-    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, String startRevision,
-                                                String endRevision )
+    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion startVersion,
+                                                ScmVersion endVersion )
         throws ScmException
     {
         Commandline cl =
-            createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), startRevision, endRevision );
+            createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), startVersion, endVersion );
 
         SvnDiffConsumer consumer = new SvnDiffConsumer( getLogger(), fileSet.getBasedir() );
 
@@ -82,23 +83,23 @@
     // ----------------------------------------------------------------------
 
     public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory,
-                                                 String startRevision, String endRevision )
+                                                 ScmVersion startVersion, ScmVersion endVersion )
     {
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( workingDirectory, repository );
 
         cl.createArgument().setValue( "diff" );
 
-        if ( StringUtils.isNotEmpty( startRevision ) )
+        if ( startVersion != null && StringUtils.isNotEmpty( startVersion.getName() ) )
         {
             cl.createArgument().setValue( "-r" );
 
-            if ( StringUtils.isNotEmpty( endRevision ) )
+            if ( endVersion != null && StringUtils.isNotEmpty( endVersion.getName() ) )
             {
-                cl.createArgument().setValue( startRevision + ":" + endRevision );
+                cl.createArgument().setValue( startVersion.getName() + ":" + endVersion.getName() );
             }
             else
             {
-                cl.createArgument().setValue( startRevision );
+                cl.createArgument().setValue( startVersion.getName() );
             }
         }
 

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/export/SvnExeExportCommand.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/export/SvnExeExportCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/export/SvnExeExportCommand.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/export/SvnExeExportCommand.java Mon Apr  2 13:02:44 2007
@@ -19,8 +19,12 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmTag;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.export.AbstractExportCommand;
 import org.apache.maven.scm.command.export.ExportScmResult;
 import org.apache.maven.scm.command.export.ExportScmResultWithRevision;
@@ -47,7 +51,7 @@
     implements SvnCommand
 
 {
-    protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag,
+    protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version,
                                                     String outputDirectory )
         throws ScmException
     {
@@ -55,15 +59,22 @@
 
         String url = repository.getUrl();
 
-        if ( tag != null && StringUtils.isNotEmpty( tag.trim() ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            url = SvnTagBranchUtils.resolveTagUrl( repository, tag );
+            if ( version instanceof ScmTag )
+            {
+                url = SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) version );
+            }
+            else if ( version instanceof ScmBranch )
+            {
+                url = SvnTagBranchUtils.resolveBranchUrl( repository, (ScmBranch) version );
+            }
         }
 
         url = SvnCommandUtils.fixUrl( url, repository.getUser() );
 
         Commandline cl =
-            createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), tag, url, outputDirectory );
+            createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), version, url, outputDirectory );
 
         SvnUpdateConsumer consumer = new SvnUpdateConsumer( getLogger(), fileSet.getBasedir() );
 
@@ -96,22 +107,26 @@
     //
     // ----------------------------------------------------------------------
 
-    public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory, String tag,
-                                                 String url, String outputSirectory )
+    public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory,
+                                                 ScmVersion version, String url, String outputSirectory )
     {
-        if ( tag != null && StringUtils.isEmpty( tag.trim() ) )
+        if ( version != null && StringUtils.isEmpty( version.getName() ) )
         {
-            tag = null;
+            version = null;
         }
 
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( workingDirectory, repository );
 
         cl.createArgument().setValue( "export" );
 
-        if ( StringUtils.isNotEmpty( tag ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            cl.createArgument().setValue( "-r" );
-            cl.createArgument().setValue( tag );
+            if ( version instanceof ScmRevision )
+            {
+                cl.createArgument().setValue( "-r" );
+
+                cl.createArgument().setValue( version.getName() );
+            }
         }
 
         cl.createArgument().setValue( url );

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/list/SvnListCommand.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/list/SvnListCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/list/SvnListCommand.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/list/SvnListCommand.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,8 @@
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.list.AbstractListCommand;
 import org.apache.maven.scm.command.list.ListScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -48,10 +50,10 @@
     private static final File TMP_DIR = new File( System.getProperty( "java.io.tmpdir" ) );
 
     protected ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive,
-                                                String revision )
+                                                ScmVersion version )
         throws ScmException
     {
-        Commandline cl = createCommandLine( (SvnScmProviderRepository) repository, fileSet, recursive, revision );
+        Commandline cl = createCommandLine( (SvnScmProviderRepository) repository, fileSet, recursive, version );
 
         SvnListConsumer consumer = new SvnListConsumer();
 
@@ -80,7 +82,7 @@
     }
 
     static Commandline createCommandLine( SvnScmProviderRepository repository, ScmFileSet fileSet, boolean recursive,
-                                          String revision )
+                                          ScmVersion version )
     {
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( TMP_DIR, repository );
 
@@ -91,11 +93,14 @@
             cl.createArgument().setValue( "--recursive" );
         }
 
-        if ( StringUtils.isNotEmpty( revision ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            cl.createArgument().setValue( "-r" );
+            if ( version instanceof ScmRevision )
+            {
+                cl.createArgument().setValue( "-r" );
 
-            cl.createArgument().setValue( revision );
+                cl.createArgument().setValue( version.getName() );
+            }
         }
 
         Iterator it = fileSet.getFileList().iterator();

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/tag/SvnTagCommand.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/tag/SvnTagCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/tag/SvnTagCommand.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/tag/SvnTagCommand.java Mon Apr  2 13:02:44 2007
@@ -24,6 +24,7 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -149,7 +150,7 @@
         cl.createArgument().setValue( "." );
 
         // Note: this currently assumes you have the tag base checked out too
-        String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, tag );
+        String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag ) );
         cl.createArgument().setValue( SvnCommandUtils.fixUrl( tagUrl, repository.getUser() ) );
 
         return cl;

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/update/SvnUpdateCommand.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/update/SvnUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- 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/update/SvnUpdateCommand.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/update/SvnUpdateCommand.java Mon Apr  2 13:02:44 2007
@@ -19,8 +19,11 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTag;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.changelog.ChangeLogCommand;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
 import org.apache.maven.scm.command.update.UpdateScmResult;
@@ -46,10 +49,10 @@
     extends AbstractUpdateCommand
     implements SvnCommand
 {
-    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
-        Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), tag );
+        Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), version );
 
         SvnUpdateConsumer consumer = new SvnUpdateConsumer( getLogger(), fileSet.getBasedir() );
 
@@ -83,32 +86,43 @@
     // ----------------------------------------------------------------------
 
     public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory,
-                                                 String tag )
+                                                 ScmVersion version )
     {
-        if ( tag != null && StringUtils.isEmpty( tag.trim() ) )
+        if ( version != null && StringUtils.isEmpty( version.getName() ) )
         {
-            tag = null;
+            version = null;
         }
 
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( workingDirectory, repository );
 
-        if ( tag == null || SvnTagBranchUtils.isRevisionSpecifier( tag ) )
+        if ( version == null || SvnTagBranchUtils.isRevisionSpecifier( version ) )
         {
             cl.createArgument().setValue( "update" );
 
-            if ( tag != null )
+            if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
             {
                 cl.createArgument().setValue( "-r" );
-                cl.createArgument().setValue( tag );
+                cl.createArgument().setValue( version.getName() );
             }
         }
         else
         {
-            // The tag specified does not appear to be numeric, so assume it refers
-            // to a branch/tag url and perform a switch operation rather than update
-            cl.createArgument().setValue( "switch" );
-            cl.createArgument().setValue( SvnTagBranchUtils.resolveTagUrl( repository, tag ) );
-            cl.createArgument().setValue( workingDirectory.getAbsolutePath() );
+            if ( version instanceof ScmBranch )
+            {
+                // The tag specified does not appear to be numeric, so assume it refers
+                // to a branch/tag url and perform a switch operation rather than update
+                cl.createArgument().setValue( "switch" );
+                if ( version instanceof ScmTag )
+                {
+                    cl.createArgument().setValue( SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) version ) );
+                }
+                else
+                {
+                    cl.createArgument().setValue(
+                        SvnTagBranchUtils.resolveBranchUrl( repository, (ScmBranch) version ) );
+                }
+                cl.createArgument().setValue( workingDirectory.getAbsolutePath() );
+            }
         }
 
         return cl;

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java Mon Apr  2 13:02:44 2007
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -84,7 +85,7 @@
     public void testCommandLineWithBranchNoDates()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "my-test-branch", null, null,
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), null, null,
                          "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" );
     }
 
@@ -93,7 +94,7 @@
     {
         Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE );
 
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "my-test-branch", startDate, null,
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), startDate, null,
                          "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" );
     }
 
@@ -103,7 +104,7 @@
         Date endDate = getDate( 2003, Calendar.OCTOBER, 10, 1, 1, 1, GMT_TIME_ZONE );
 
         // Only specifying end date should print no dates at all
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "my-test-branch", null, endDate,
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), null, endDate,
                          "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" );
     }
 
@@ -113,7 +114,7 @@
         Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, GMT_TIME_ZONE );
         Date endDate = getDate( 2003, Calendar.OCTOBER, 10, GMT_TIME_ZONE );
 
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "my-test-branch", startDate, endDate,
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), startDate, endDate,
                          "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" );
     }
 
@@ -121,7 +122,7 @@
     //
     // ----------------------------------------------------------------------
 
-    private void testCommandLine( String scmUrl, String branch, Date startDate, Date endDate, String commandLine )
+    private void testCommandLine( String scmUrl, ScmBranch branch, Date startDate, Date endDate, String commandLine )
         throws Exception
     {
         File workingDirectory = getTestFile( "target/svn-update-command-test" );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java Mon Apr  2 13:02:44 2007
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmRevision;
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
@@ -85,8 +86,8 @@
 
         SvnScmProviderRepository svnRepository = (SvnScmProviderRepository) repository.getProviderRepository();
 
-        Commandline cl =
-            SvnCheckOutCommand.createCommandLine( svnRepository, workingDirectory, revision, svnRepository.getUrl() );
+        Commandline cl = SvnCheckOutCommand.createCommandLine( svnRepository, workingDirectory,
+                                                               new ScmRevision( revision ), svnRepository.getUrl() );
 
         assertEquals( commandLine, cl.toString() );
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommandTest.java Mon Apr  2 13:02:44 2007
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmRevision;
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -89,7 +90,8 @@
     {
         ScmFileSet fileSet = new ScmFileSet( new File( "." ), new File( "." ) );
 
-        Commandline cl = SvnListCommand.createCommandLine( getSvnRepository( scmUrl ), fileSet, recursive, revision );
+        Commandline cl = SvnListCommand.createCommandLine( getSvnRepository( scmUrl ), fileSet, recursive,
+                                                           new ScmRevision( revision ) );
 
         assertEquals( commandLine + " http://foo.com/svn/trunk/.", cl.toString() );
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java Mon Apr  2 13:02:44 2007
@@ -19,7 +19,11 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -36,13 +40,37 @@
     public void testCommandLineWithEmptyTag()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "", "svn --non-interactive update" );
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmTag( "" ), "svn --non-interactive update" );
+    }
+
+    public void testCommandLineWithEmptyBranch()
+        throws Exception
+    {
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "" ), "svn --non-interactive update" );
+    }
+
+    public void testCommandLineWithEmptyVersion()
+        throws Exception
+    {
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( "" ), "svn --non-interactive update" );
     }
 
     public void testCommandLineWithWhitespaceTag()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "  ", "svn --non-interactive update" );
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmTag( "  " ), "svn --non-interactive update" );
+    }
+
+    public void testCommandLineWithWhitespaceBranch()
+        throws Exception
+    {
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "  " ), "svn --non-interactive update" );
+    }
+
+    public void testCommandLineWithWhitespaceRevision()
+        throws Exception
+    {
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( "  " ), "svn --non-interactive update" );
     }
 
     public void testCommandLineWithoutTag()
@@ -54,21 +82,21 @@
     public void testCommandLineTag()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", "10",
+        testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", new ScmRevision( "10" ),
                          "svn --username anonymous --non-interactive update -r 10" );
     }
 
     public void testCommandLineWithUsernameAndTag()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", "10",
+        testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", new ScmRevision( "10" ),
                          "svn --username anonymous --non-interactive update -r 10" );
     }
 
     public void testCommandLineWithRelativeURLTag()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "branches/my-test-branch",
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "branches/my-test-branch" ),
                          "svn --non-interactive switch http://foo.com/svn/branches/my-test-branch " +
                              getUpdateTestFile().getAbsolutePath() );
     }
@@ -76,7 +104,8 @@
     public void testCommandLineWithAbsoluteURLTag()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "http://foo.com/svn/branches/my-test-branch",
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk",
+                         new ScmBranch( "http://foo.com/svn/branches/my-test-branch" ),
                          "svn --non-interactive switch http://foo.com/svn/branches/my-test-branch " +
                              getUpdateTestFile().getAbsolutePath() );
     }
@@ -84,7 +113,7 @@
     public void testCommandLineWithNonDeterminantBase()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/some-project", "branches/my-test-branch",
+        testCommandLine( "scm:svn:http://foo.com/svn/some-project", new ScmBranch( "branches/my-test-branch" ),
                          "svn --non-interactive switch http://foo.com/svn/some-project/branches/my-test-branch " +
                              getUpdateTestFile().getAbsolutePath() );
     }
@@ -92,7 +121,7 @@
     public void testCommandLineWithNonDeterminantBaseTrailingSlash()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/some-project/", "branches/my-test-branch",
+        testCommandLine( "scm:svn:http://foo.com/svn/some-project/", new ScmBranch( "branches/my-test-branch" ),
                          "svn --non-interactive switch http://foo.com/svn/some-project/branches/my-test-branch " +
                              getUpdateTestFile().getAbsolutePath() );
     }
@@ -100,7 +129,7 @@
     public void testCommandLineWithBranchSameAsBase()
         throws Exception
     {
-        testCommandLine( "scm:svn:http://foo.com/svn/tags/my-tag", "tags/my-tag",
+        testCommandLine( "scm:svn:http://foo.com/svn/tags/my-tag", new ScmTag( "tags/my-tag" ),
                          "svn --non-interactive switch http://foo.com/svn/tags/my-tag " +
                              getUpdateTestFile().getAbsolutePath() );
     }
@@ -122,12 +151,12 @@
         return (SvnScmProviderRepository) repository.getProviderRepository();
     }
 
-    private void testCommandLine( String scmUrl, String tag, String commandLine )
+    private void testCommandLine( String scmUrl, ScmVersion version, String commandLine )
         throws Exception
     {
         File workingDirectory = getUpdateTestFile();
 
-        Commandline cl = SvnUpdateCommand.createCommandLine( getSvnRepository( scmUrl ), workingDirectory, tag );
+        Commandline cl = SvnUpdateCommand.createCommandLine( getSvnRepository( scmUrl ), workingDirectory, version );
 
         assertEquals( commandLine, cl.toString() );
     }

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java Mon Apr  2 13:02:44 2007
@@ -76,7 +76,7 @@
 
     /**
      * <p/>
-     * Initialize repository at the {@link #getScmUrl()} location with the files in {@link #getScmFiles()}
+     * Initialize repository at the {@link #getScmUrl()} location with the files in {@link #getScmFileNames()}
      * </p>
      * <p/>
      * The setup is also asserting on the existence of these files. <br>
@@ -131,7 +131,7 @@
         throws Exception
     {
         CheckOutScmResult result = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkOut( repository, new ScmFileSet( workingDirectory ), null );
+            .checkOut( repository, new ScmFileSet( workingDirectory ), (ScmVersion)null );
 
         assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() );
 

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java Mon Apr  2 13:02:44 2007
@@ -19,8 +19,10 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
@@ -364,6 +366,46 @@
     }
 
     /**
+     * @return getChangeLogScmResult() always
+     */
+    public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
+                                         int numDays, ScmBranch branch )
+        throws ScmException
+    {
+        return getChangeLogScmResult();
+    }
+
+    /**
+     * @return getChangeLogScmResult() always
+     */
+    public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
+                                         int numDays, ScmBranch branch, String datePattern )
+        throws ScmException
+    {
+        return getChangeLogScmResult();
+    }
+
+    /**
+     * @return getChangeLogScmResult() always
+     */
+    public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
+                                         ScmVersion endVersion )
+        throws ScmException
+    {
+        return getChangeLogScmResult();
+    }
+
+    /**
+     * @return getChangeLogScmResult() always
+     */
+    public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
+                                         ScmVersion endRevision, String datePattern )
+        throws ScmException
+    {
+        return getChangeLogScmResult();
+    }
+
+    /**
      * @return getCheckInScmResult() always
      */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
@@ -372,6 +414,15 @@
         return getCheckInScmResult();
     }
 
+    /**
+     * @return getCheckInScmResult() always
+     */
+    public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
+        throws ScmException
+    {
+        return getCheckInScmResult();
+    }
+
     public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, String tag,
                                        boolean recursive )
         throws ScmException
@@ -389,6 +440,25 @@
     }
 
     /**
+     * @return getCheckOutScmResult() always
+     */
+    public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
+        throws ScmException
+    {
+        return getCheckOutScmResult();
+    }
+
+    /**
+     * @return getCheckOutScmResult() always
+     */
+    public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version,
+                                       boolean recursive )
+        throws ScmException
+    {
+        return getCheckOutScmResult();
+    }
+
+    /**
      * @return getDiffScmResult() always
      */
     public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision )
@@ -398,6 +468,35 @@
     }
 
     /**
+     * @return getDiffScmResult() always
+     */
+    public DiffScmResult diff( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion,
+                               ScmVersion endVersion )
+        throws ScmException
+    {
+        return getDiffScmResult();
+    }
+
+    /**
+     * @return getUpdateScmResult() always
+     */
+    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
+                                   String datePattern, boolean runChangelog )
+        throws ScmException
+    {
+        return getUpdateScmResult();
+    }
+
+    /**
+     * @return getEditScmResult() always
+     */
+    public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
+        throws ScmException
+    {
+        return getEditScmResult();
+    }
+
+    /**
      * @return getExportScmResult() always
      */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag )
@@ -416,6 +515,43 @@
     }
 
     /**
+     * @return getExportScmResult() always
+     */
+    public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
+        throws ScmException
+    {
+        return getExportScmResult();
+    }
+
+    /**
+     * @return getExportScmResult() always
+     */
+    public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
+                                   String outputDirectory )
+        throws ScmException
+    {
+        return getExportScmResult();
+    }
+
+    /**
+     * @return {@link #getListScmResult()} always
+     */
+    public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
+        throws ScmException
+    {
+        return getListScmResult();
+    }
+
+    /**
+     * @return {@link #getListScmResult()} always
+     */
+    public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version )
+        throws ScmException
+    {
+        return getListScmResult();
+    }
+
+    /**
      * @return getRemoveScmResult() always
      */
     public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
@@ -491,37 +627,57 @@
     /**
      * @return getUpdateScmResult() always
      */
-    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
-                                   String datePattern, boolean runChangelog )
+    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
     /**
-     * @return getEditScmResult() always
+     * @return getUpdateScmResult() always
      */
-    public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
+    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
+                                   boolean runChangelog )
         throws ScmException
     {
-        return getEditScmResult();
+        return getUpdateScmResult();
     }
 
     /**
-     * @return getUnEditScmResult() always
+     * @return getUpdateScmResult() always
      */
-    public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
+    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
+                                   String datePattern )
         throws ScmException
     {
-        return getUnEditScmResult();
+        return getUpdateScmResult();
     }
 
     /**
-     * @return {@link #getListScmResult()} always
+     * @return getUpdateScmResult() always
      */
-    public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
+    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
         throws ScmException
     {
-        return getListScmResult();
+        return getUpdateScmResult();
+    }
+
+    /**
+     * @return getUpdateScmResult() always
+     */
+    public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
+                                   String datePattern )
+        throws ScmException
+    {
+        return getUpdateScmResult();
+    }
+
+    /**
+     * @return getUnEditScmResult() always
+     */
+    public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
+        throws ScmException
+    {
+        return getUnEditScmResult();
     }
 }

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -20,9 +20,11 @@
  */
 
 import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
@@ -52,7 +54,8 @@
         ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() );
 
         //We should have one log entry for the initial repository
-        ChangeLogScmResult result = provider.changeLog( getScmRepository(), fileSet, null, null, 0, null, null );
+        ChangeLogScmResult result =
+            provider.changeLog( getScmRepository(), fileSet, null, null, 0, (ScmBranch) null, null );
         assertTrue( result.isSuccess() );
         assertEquals( 1, result.getChangeLog().getChangeSets().size() );
 
@@ -64,10 +67,10 @@
 
         //Make a change to the readme.txt and commit the change
         ScmTestCase.makeFile( getWorkingCopy(), "/readme.txt", "changed readme.txt" );
-        CheckInScmResult checkInResult = provider.checkIn( getScmRepository(), fileSet, null, COMMIT_MSG );
+        CheckInScmResult checkInResult = provider.checkIn( getScmRepository(), fileSet, (ScmVersion) null, COMMIT_MSG );
         assertTrue( "Unable to checkin changes to the repository", checkInResult.isSuccess() );
 
-        result = provider.changeLog( getScmRepository(), fileSet, null, null );
+        result = provider.changeLog( getScmRepository(), fileSet, (ScmVersion) null, null );
         assertTrue( result.isSuccess() );
         assertEquals( 2, result.getChangeLog().getChangeSets().size() );
 

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -23,6 +23,7 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmTckTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
@@ -71,7 +72,7 @@
         assertResultIsSuccess( addResult );
 
         CheckInScmResult result = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkIn( getScmRepository(), new ScmFileSet( getWorkingCopy() ), null, "Commit message" );
+            .checkIn( getScmRepository(), new ScmFileSet( getWorkingCopy() ), (ScmVersion) null, "Commit message" );
 
         assertResultIsSuccess( result );
 
@@ -94,7 +95,7 @@
         assertPath( "/test-repo/check-in/readme.txt", file2.getPath() );
 
         CheckOutScmResult checkoutResult = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), null );
+            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), (ScmVersion) null );
 
         assertResultIsSuccess( checkoutResult );
 
@@ -145,7 +146,8 @@
                                                                                            new ScmFileSet(
                                                                                                getWorkingCopy(),
                                                                                                "**/Foo.java", null ),
-                                                                                           null, "Commit message" );
+                                                                                           (ScmVersion) null,
+                                                                                           "Commit message" );
 
         assertResultIsSuccess( result );
 
@@ -162,7 +164,7 @@
         assertPath( "/test-repo/check-in/Foo.java", file1.getPath() );
 
         CheckOutScmResult checkoutResult = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), null );
+            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), (ScmVersion) null );
 
         assertResultIsSuccess( checkoutResult );
 

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -23,6 +23,7 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.diff.DiffScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -88,7 +89,7 @@
 
         ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
         ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() );
-        DiffScmResult result = provider.diff( repository, fileSet, null, null );
+        DiffScmResult result = provider.diff( repository, fileSet, null, (ScmVersion) null );
 
         assertNotNull( "The command returned a null result.", result );
 

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,7 @@
 
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmTckTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.list.ListScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 
@@ -63,7 +64,7 @@
 
         ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
 
-        ListScmResult result = provider.list( getScmRepository(), fileSet, false, null );
+        ListScmResult result = provider.list( getScmRepository(), fileSet, false, (ScmVersion) null );
 
         assertFalse( "Found file when shouldn't", result.isSuccess() );
     }
@@ -73,10 +74,10 @@
     {
         ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
 
-        ListScmResult result = provider.list( getScmRepository(), fileSet, recursive, null );
+        ListScmResult result = provider.list( getScmRepository(), fileSet, recursive, (ScmVersion) null );
 
-        assertTrue( "SCM command failed: " + result.getCommandLine() + " : " + result.getProviderMessage()
-            + ( result.getCommandOutput() == null ? "" : ": " + result.getCommandOutput() ), result.isSuccess() );
+        assertTrue( "SCM command failed: " + result.getCommandLine() + " : " + result.getProviderMessage() +
+            ( result.getCommandOutput() == null ? "" : ": " + result.getCommandOutput() ), result.isSuccess() );
 
         return result.getFiles();
     }

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -24,6 +24,7 @@
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.manager.ScmManager;
@@ -60,7 +61,7 @@
         throws Exception
     {
         CheckInScmResult result = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkIn( repository, new ScmFileSet( workingDirectory ), null, "No msg" );
+            .checkIn( repository, new ScmFileSet( workingDirectory ), (ScmVersion) null, "No msg" );
 
         assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() );
 

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -20,7 +20,9 @@
  */
 
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.ScmTckTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.command.tag.TagScmResult;
@@ -58,12 +60,12 @@
         changeReadmeTxt( readmeTxt );
 
         CheckInScmResult checkinResult = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkIn( getScmRepository(), new ScmFileSet( getWorkingCopy() ), null, "commit message" );
+            .checkIn( getScmRepository(), new ScmFileSet( getWorkingCopy() ), (ScmVersion) null, "commit message" );
 
         assertResultIsSuccess( checkinResult );
 
         CheckOutScmResult checkoutResult = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), null );
+            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), (ScmVersion) null );
 
         assertResultIsSuccess( checkoutResult );
 
@@ -76,7 +78,7 @@
         assertFalse( "check previous assertion copy deleted", getAssertionCopy().exists() );
 
         checkoutResult = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), tag );
+            .checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ), new ScmTag( tag ) );
 
         assertResultIsSuccess( checkoutResult );
 

Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -25,6 +25,7 @@
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.manager.ScmManager;
@@ -63,14 +64,15 @@
         throws Exception
     {
         CheckInScmResult result = getScmManager().getProviderByUrl( getScmUrl() )
-            .checkIn( repository, new ScmFileSet( workingDirectory ), null, "No msg" );
+            .checkIn( repository, new ScmFileSet( workingDirectory ), (ScmVersion) null, "No msg" );
 
         assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() );
 
         List committedFiles = result.getCheckedInFiles();
 
-        assertEquals( "Expected 3 files in the committed files list:\n  "
-            + StringUtils.join( committedFiles.iterator(), "\n  " ), 3, committedFiles.size() );
+        assertEquals(
+            "Expected 3 files in the committed files list:\n  " + StringUtils.join( committedFiles.iterator(), "\n  " ),
+            3, committedFiles.size() );
     }
 
     public void testUpdateCommand()
@@ -127,7 +129,7 @@
         // ----------------------------------------------------------------------
 
         UpdateScmResult result = scmManager.getProviderByUrl( getScmUrl() )
-            .update( repository, new ScmFileSet( getUpdatingCopy() ), null, lastUpdate );
+            .update( repository, new ScmFileSet( getUpdatingCopy() ), (ScmVersion) null, lastUpdate );
 
         assertNotNull( "The command returned a null result.", result );