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 [3/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-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java Mon Apr  2 13:02:44 2007
@@ -20,9 +20,8 @@
  */
 
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.maven.scm.providers.local.metadata.LocalScmMetadata;
-import org.apache.maven.scm.providers.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
-import org.apache.maven.scm.providers.local.metadata.io.xpp3.LocalScmMetadataXpp3Writer;
+import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
+import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3Writer;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo Mon Apr  2 13:02:44 2007
@@ -5,7 +5,7 @@
   <defaults>
     <default>
       <key>package</key>
-      <value>org.apache.maven.scm.providers.local.metadata</value>
+      <value>org.apache.maven.scm.provider.local.metadata</value>
     </default>
   </defaults>
 

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -20,8 +20,8 @@
  */
 
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
-import org.apache.maven.scm.providers.local.metadata.LocalScmMetadata;
-import org.apache.maven.scm.providers.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
+import org.apache.maven.scm.provider.local.metadata.LocalScmMetadata;
+import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
 import org.apache.maven.scm.tck.command.checkout.CheckOutCommandTckTest;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java Mon Apr  2 13:02:44 2007
@@ -22,10 +22,11 @@
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmTestCase;
+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.providers.local.metadata.LocalScmMetadata;
-import org.apache.maven.scm.providers.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
+import org.apache.maven.scm.provider.local.metadata.LocalScmMetadata;
+import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.tck.command.update.UpdateCommandTckTest;
 import org.codehaus.plexus.util.FileUtils;
@@ -98,7 +99,7 @@
         Thread.sleep( 1000 );
         UpdateScmResult result = scmManager.getProviderByUrl( getScmUrl() ).update( repository,
                                                                                     new ScmFileSet( getUpdatingCopy() ),
-                                                                                    null, lastUpdate );
+                                                                                    (ScmVersion) null, lastUpdate );
 
         assertNotNull( "The command returned a null result.", result );
 

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.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.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
@@ -48,11 +49,11 @@
 {
 
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
-                                                          Date startDate, Date endDate, String branch,
+                                                          Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {
-        if ( StringUtils.isNotEmpty( branch ) )
+        if ( branch != null || StringUtils.isNotEmpty( branch.getName() ) )
         {
             throw new ScmException( "This SCM doesn't support branches." );
         }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.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;
@@ -51,7 +52,7 @@
 {
 
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet files, String message,
-                                                      String something )
+                                                      ScmVersion version )
         throws ScmException
     {
         Commandline cl = createCommandLine( (PerforceScmProviderRepository) repo, files.getBasedir() );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.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.checkout.AbstractCheckOutCommand;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.perforce.PerforceScmProvider;
 import org.apache.maven.scm.provider.perforce.command.PerforceCommand;
 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -58,7 +60,8 @@
      * mapping from the repo path to the target directory.
      * 2) This clientspec is sync'd to pull all the files onto the client
      */
-    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet files, String tag )
+    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet files,
+                                                        ScmVersion version )
         throws ScmException
     {
         PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) repo;
@@ -118,7 +121,7 @@
             {
                 try
                 {
-                    cl = createCommandLine( prepo, workingDirectory, tag, specname );
+                    cl = createCommandLine( prepo, workingDirectory, version, specname );
                     getLogger().debug( "Executing: " + PerforceScmProvider.clean( cl.toString() ) );
                     Process proc = cl.execute();
                     BufferedReader br = new BufferedReader( new InputStreamReader( proc.getInputStream() ) );
@@ -193,8 +196,8 @@
         }
     }
 
-    public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDirectory, String tag,
-                                                 String specname )
+    public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDirectory,
+                                                 ScmVersion version, String specname )
     {
         Commandline command = PerforceScmProvider.createP4Command( repo, workingDirectory );
 
@@ -219,9 +222,9 @@
         // sync'ing each file individually to the label or just sync the
         // entire contents of the workingDir. I'm going to assume the
         // latter until the exact semantics are clearer.
-        if ( tag != null )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            command.createArgument().setValue( "@" + tag );
+            command.createArgument().setValue( "@" + version.getName() );
         }
         return command;
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.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.diff.AbstractDiffCommand;
 import org.apache.maven.scm.command.diff.DiffScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.perforce.PerforceScmProvider;
 import org.apache.maven.scm.provider.perforce.command.PerforceCommand;
 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -45,8 +47,8 @@
     implements PerforceCommand
 {
 
-    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet files, String startRev,
-                                                String endRev )
+    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet files, ScmVersion startRev,
+                                                ScmVersion endRev )
         throws ScmException
     {
         Commandline cl =
@@ -82,15 +84,18 @@
     }
 
     public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDirectory,
-                                                 String startRev, String endRev )
+                                                 ScmVersion startRev, ScmVersion endRev )
     {
+        String start = startRev != null && StringUtils.isNotEmpty( startRev.getName() ) ? "@" + startRev.getName() : "";
+        String end = endRev != null && StringUtils.isNotEmpty( endRev.getName() ) ? endRev.getName() : "head";
+
         Commandline command = PerforceScmProvider.createP4Command( repo, workingDirectory );
 
         command.createArgument().setValue( "diff2" );
         command.createArgument().setValue( "-u" );
         // I'm assuming the "revs" are actually labels
-        command.createArgument().setValue( "..." + ( startRev != null ? "@" + startRev : "" ) );
-        command.createArgument().setValue( "...@" + ( endRev != null ? endRev : "head" ) );
+        command.createArgument().setValue( "..." + start );
+        command.createArgument().setValue( "...@" + end );
         return command;
     }
 

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java Mon Apr  2 13:02:44 2007
@@ -23,6 +23,7 @@
 import org.apache.maven.scm.CommandParameters;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.changelog.ChangeLogCommand;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
@@ -42,7 +43,8 @@
     implements PerforceCommand
 {
 
-    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet files, String tag )
+    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet files,
+                                                    ScmVersion scmVersion )
         throws ScmException
     {
         // In Perforce, there is no difference between update and checkout.
@@ -51,7 +53,7 @@
         PerforceCheckOutCommand command = new PerforceCheckOutCommand();
         command.setLogger( getLogger() );
         CommandParameters params = new CommandParameters();
-        params.setString( CommandParameter.TAG, tag );
+        params.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
 
         CheckOutScmResult cosr = (CheckOutScmResult) command.execute( repo, files, params );
         if ( !cosr.isSuccess() )

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommandTest.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.provider.perforce.PerforceScmProvider;
 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
@@ -75,8 +76,8 @@
         ScmRepository repository = getScmManager().makeScmRepository( scmUrl );
         PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository
             .getProviderRepository();
-        Commandline cl = PerforceCheckOutCommand.createCommandLine( svnRepository, workingDirectory, "somelabel",
-                                                                    "test-test-maven" );
+        Commandline cl = PerforceCheckOutCommand.createCommandLine( svnRepository, workingDirectory,
+                                                                    new ScmRevision( "somelabel" ), "test-test-maven" );
 
         assertEquals( commandLine, cl.toString() );
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommandTest.java Mon Apr  2 13:02:44 2007
@@ -19,7 +19,9 @@
  * under the License.
  */
 
+import org.apache.maven.scm.ScmRevision;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -37,20 +39,21 @@
     public void testGetCommandLine()
         throws Exception
     {
-        testCommandLine( "somelabel", null, "p4 diff2 -u ...@somelabel ...@head" );
+        testCommandLine( new ScmRevision( "somelabel" ), null, "p4 diff2 -u ...@somelabel ...@head" );
     }
 
     public void testGetCommandLineWithRevs()
         throws Exception
     {
-        testCommandLine( "somelabel", "someend", "p4 diff2 -u ...@somelabel ...@someend" );
+        testCommandLine( new ScmRevision( "somelabel" ), new ScmRevision( "someend" ),
+                         "p4 diff2 -u ...@somelabel ...@someend" );
     }
 
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
-    private void testCommandLine( String startRev, String endRev, String commandLine )
+    private void testCommandLine( ScmVersion startRev, ScmVersion endRev, String commandLine )
         throws Exception
     {
         File workingDirectory = getTestFile( "target/perforce-diff-command-test" );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.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.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
@@ -28,6 +29,7 @@
 import org.apache.maven.scm.provider.starteam.command.StarteamCommand;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -47,12 +49,12 @@
     // ----------------------------------------------------------------------
 
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
-                                                          Date startDate, Date endDate, String branch,
+                                                          Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {
 
-        if ( branch != null )
+        if ( branch != null || StringUtils.isNotEmpty( branch.getName() ) )
         {
             this.getLogger().warn( "This provider doesn't support changelog with on a given branch." );
         }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.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.checkin.AbstractCheckInCommand;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommand;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -47,7 +49,7 @@
     // ----------------------------------------------------------------------
 
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
-                                                      String tag )
+                                                      ScmVersion version )
         throws ScmException
     {
 
@@ -74,7 +76,7 @@
 
         if ( checkInFiles.size() == 0 )
         {
-            Commandline cl = createCommandLine( repository, fileSet, message, tag, issueType, issueValue );
+            Commandline cl = createCommandLine( repository, fileSet, message, version, issueType, issueValue );
 
             int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() );
 
@@ -90,7 +92,7 @@
             {
                 ScmFileSet checkInFile = new ScmFileSet( fileSet.getBasedir(), (File) checkInFiles.get( i ) );
 
-                Commandline cl = createCommandLine( repository, checkInFile, message, tag, issueType, issueValue );
+                Commandline cl = createCommandLine( repository, checkInFile, message, version, issueType, issueValue );
 
                 int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() );
 
@@ -108,20 +110,20 @@
 
 
     public static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet fileSet, String message,
-                                                 String tag, String issueType, String issueValue )
+                                                 ScmVersion version, String issueType, String issueValue )
     {
         List args = new ArrayList();
-        
+
         if ( message != null && message.length() != 0 )
         {
             args.add( "-r" );
             args.add( message );
         }
 
-        if ( tag != null && tag.length() != 0 )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             args.add( "-vl" );
-            args.add( tag );
+            args.add( version.getName() );
         }
 
         if ( issueType != null && issueType.trim().length() > 0 )
@@ -150,7 +152,7 @@
         }
 
         StarteamCommandLineUtils.addEOLOption( args );
-        
+
         return StarteamCommandLineUtils.createStarteamCommandLine( "ci", args, fileSet, repo );
 
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.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.checkout.AbstractCheckOutCommand;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommand;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -46,7 +48,8 @@
     // AbstractCheckOutCommand Implementation
     // ----------------------------------------------------------------------
 
-    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                        ScmVersion version )
         throws ScmException
     {
         if ( fileSet.getFileList().size() != 0 )
@@ -62,7 +65,7 @@
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        Commandline cl = createCommandLine( repository, fileSet, tag );
+        Commandline cl = createCommandLine( repository, fileSet, version );
 
         int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() );
 
@@ -78,18 +81,19 @@
     //
     // ----------------------------------------------------------------------
 
-    public static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet baseDir, String tag )
+    public static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet baseDir,
+                                                 ScmVersion version )
     {
         List args = new ArrayList();
-        
-        if ( tag != null && tag.length() != 0 )
+
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             args.add( "-vl" );
-            args.add( tag );
+            args.add( version.getName() );
         }
 
         StarteamCommandLineUtils.addEOLOption( args );
-                
+
         return StarteamCommandLineUtils.createStarteamCommandLine( "co", args, baseDir, repo );
     }
 }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.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.diff.AbstractDiffCommand;
 import org.apache.maven.scm.command.diff.DiffScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommand;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -44,8 +46,8 @@
     // ----------------------------------------------------------------------
     // AbstractDiffCommand Implementation
     // ----------------------------------------------------------------------
-    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, String startRevision,
-                                                String endRevision )
+    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion startVersion,
+                                                ScmVersion endVersion )
         throws ScmException
     {
 
@@ -62,7 +64,7 @@
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        Commandline cl = createCommandLine( repository, fileSet, startRevision, endRevision );
+        Commandline cl = createCommandLine( repository, fileSet, startVersion, endVersion );
 
         int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() );
 
@@ -80,7 +82,7 @@
     // ----------------------------------------------------------------------
 
     public static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet workingDirectory,
-                                                 String startLabel, String endLabel )
+                                                 ScmVersion startLabel, ScmVersion endLabel )
         throws ScmException
     {
 
@@ -89,27 +91,27 @@
         args.add( "-filter" );
         args.add( "M" );
 
-        if ( startLabel != null && startLabel.length() != 0 )
+        if ( startLabel != null && StringUtils.isNotEmpty( startLabel.getName() ) )
         {
             args.add( "-vl" );
 
-            args.add( startLabel );
+            args.add( startLabel.getName() );
         }
 
-        if ( endLabel != null && endLabel.length() != 0 )
+        if ( endLabel != null && StringUtils.isNotEmpty( endLabel.getName() ) )
         {
             args.add( "-vl" );
 
-            args.add( endLabel );
+            args.add( endLabel.getName() );
         }
 
-        if ( endLabel != null && ( startLabel == null || startLabel.length() == 0 ) )
+        if ( endLabel != null && ( startLabel == null || StringUtils.isEmpty( startLabel.getName() ) ) )
         {
             throw new ScmException( "Missing start label." );
         }
 
         StarteamCommandLineUtils.addEOLOption( args );
-        
+
         return StarteamCommandLineUtils.createStarteamCommandLine( "diff", args, workingDirectory, repo );
     }
 }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.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.changelog.ChangeLogCommand;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
 import org.apache.maven.scm.command.update.UpdateScmResult;
@@ -30,6 +31,7 @@
 import org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogCommand;
 import org.apache.maven.scm.provider.starteam.command.checkout.StarteamCheckOutConsumer;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.DefaultConsumer;
@@ -51,7 +53,7 @@
     // AbstractUpdateCommand Implementation
     // ----------------------------------------------------------------------
 
-    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
 
@@ -68,7 +70,7 @@
         if ( updateFiles.size() == 0 )
         {
             //update everything
-            Commandline cl = createCommandLine( repository, fileSet, tag );
+            Commandline cl = createCommandLine( repository, fileSet, version );
 
             int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() );
 
@@ -84,7 +86,7 @@
 
                 if ( "true".equalsIgnoreCase( doDeleteLocal ) )
                 {
-                    this.deleteLocal( repository, fileSet, tag );
+                    this.deleteLocal( repository, fileSet, version );
                 }
             }
         }
@@ -95,7 +97,7 @@
             {
                 File updateFile = (File) updateFiles.get( i );
                 ScmFileSet scmFileSet = new ScmFileSet( fileSet.getBasedir(), updateFile );
-                Commandline cl = createCommandLine( repository, scmFileSet, tag );
+                Commandline cl = createCommandLine( repository, scmFileSet, version );
 
                 int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() );
 
@@ -115,21 +117,22 @@
     //
     // ----------------------------------------------------------------------
 
-    public static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    public static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet fileSet,
+                                                 ScmVersion version )
     {
         List args = new ArrayList();
-        
+
         args.add( "-merge" );
         args.add( "-neverprompt" );
-        
-        if ( tag != null && tag.length() != 0 )
+
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             args.add( "-vl" );
-            args.add( tag );
+            args.add( version.getName() );
         }
 
         StarteamCommandLineUtils.addEOLOption( args );
-        
+
         return StarteamCommandLineUtils.createStarteamCommandLine( "co", args, fileSet, repo );
     }
 
@@ -145,7 +148,7 @@
         return command;
     }
 
-    private void deleteLocal( StarteamScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    private void deleteLocal( StarteamScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         if ( fileSet.getFileList().size() != 0 )
@@ -153,7 +156,7 @@
             return;
         }
 
-        Commandline cl = createDeleteLocalCommand( repo, fileSet, tag );
+        Commandline cl = createDeleteLocalCommand( repo, fileSet, version );
 
         StreamConsumer consumer = new DefaultConsumer();
 
@@ -167,14 +170,15 @@
         }
     }
 
-    public static Commandline createDeleteLocalCommand( StarteamScmProviderRepository repo, ScmFileSet dir, String tag )
+    public static Commandline createDeleteLocalCommand( StarteamScmProviderRepository repo, ScmFileSet dir,
+                                                        ScmVersion version )
     {
         List args = new ArrayList();
 
-        if ( tag != null && tag.length() != 0 )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             args.add( "-cfgl " );
-            args.add( tag );
+            args.add( version.getName() );
         }
 
         args.add( "-filter" );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommandTest.java Mon Apr  2 13:02:44 2007
@@ -20,7 +20,9 @@
  */
 
 import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmRevision;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -45,9 +47,10 @@
         String starteamUrl = "user:password@host:1234/project/view";
         String mavenUrl = "scm:starteam:" + starteamUrl;
 
-        String expectedCmd = "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy + " -is -f NCI -eol on";
+        String expectedCmd =
+            "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy + " -is -f NCI -eol on";
 
-        testCommandLine( mavenUrl, fileSet, "", "", "", "", expectedCmd );
+        testCommandLine( mavenUrl, fileSet, "", new ScmRevision( "" ), "", "", expectedCmd );
 
     }
 
@@ -61,9 +64,10 @@
         String starteamUrl = "user:password@host:1234/project/view";
         String mavenUrl = "scm:starteam:" + starteamUrl;
 
-        String expectedCmd = "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy + " -eol on test.txt";
+        String expectedCmd =
+            "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy + " -eol on test.txt";
 
-        testCommandLine( mavenUrl, fileSet, "", "", "", "", expectedCmd );
+        testCommandLine( mavenUrl, fileSet, "", new ScmRevision( "" ), "", "", expectedCmd );
 
     }
 
@@ -77,10 +81,10 @@
         String starteamUrl = "user:password@host:1234/project/view";
         String mavenUrl = "scm:starteam:" + starteamUrl;
 
-        String expectedCmd =
-            "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + "/src" + " -fp " + workingCopy + "/src" + " -eol on test.txt";
+        String expectedCmd = "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + "/src" + " -fp " + workingCopy +
+            "/src" + " -eol on test.txt";
 
-        testCommandLine( mavenUrl, fileSet, "", "", "", "", expectedCmd );
+        testCommandLine( mavenUrl, fileSet, "", new ScmRevision( "" ), "", "", expectedCmd );
 
     }
 
@@ -100,7 +104,7 @@
         String expectedCmd = "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + "/src" + " -fp " + workingCopy +
             "/src" + " -is -f NCI -eol on";
 
-        testCommandLine( mavenUrl, fileSet, "", "", "", "", expectedCmd );
+        testCommandLine( mavenUrl, fileSet, "", new ScmRevision( "" ), "", "", expectedCmd );
 
     }
 
@@ -117,14 +121,14 @@
         String expectedCmd =
             "stcmd ci -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy + " -active -eol on test.txt";
 
-        testCommandLine( mavenUrl, fileSet, null, "", "active", " ", expectedCmd );
+        testCommandLine( mavenUrl, fileSet, null, new ScmRevision( "" ), "active", " ", expectedCmd );
     }
 // ----------------------------------------------------------------------
 //
 // ----------------------------------------------------------------------
 
-    private void testCommandLine( String scmUrl, ScmFileSet fileSet, String message, String tag, String issueType,
-                                  String issueValue, String commandLine )
+    private void testCommandLine( String scmUrl, ScmFileSet fileSet, String message, ScmVersion version,
+                                  String issueType, String issueValue, String commandLine )
         throws Exception
     {
         ScmRepository repo = getScmManager().makeScmRepository( scmUrl );
@@ -132,7 +136,7 @@
         StarteamScmProviderRepository repository = (StarteamScmProviderRepository) repo.getProviderRepository();
 
         Commandline cl =
-            StarteamCheckInCommand.createCommandLine( repository, fileSet, message, tag, issueType, issueValue );
+            StarteamCheckInCommand.createCommandLine( repository, fileSet, message, version, issueType, issueValue );
 
         assertEquals( commandLine, cl.toString() );
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommandTest.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.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -43,24 +45,24 @@
         String starteamUrl = "user:password@host:1234/project/view";
         String mavenUrl = "scm:starteam:" + starteamUrl;
 
-        String expectedCmd =
-            "stcmd co -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workDirAbsolutePath + " -is -vl myTag -eol on";
+        String expectedCmd = "stcmd co -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workDirAbsolutePath +
+            " -is -vl myTag -eol on";
 
-        testCommandLine( mavenUrl, workingCopy, "myTag", expectedCmd );
+        testCommandLine( mavenUrl, workingCopy, new ScmTag( "myTag" ), expectedCmd );
     }
 
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
-    private void testCommandLine( String scmUrl, ScmFileSet workingCopy, String tag, String commandLine )
+    private void testCommandLine( String scmUrl, ScmFileSet workingCopy, ScmVersion version, String commandLine )
         throws Exception
     {
         ScmRepository repo = getScmManager().makeScmRepository( scmUrl );
 
         StarteamScmProviderRepository repository = (StarteamScmProviderRepository) repo.getProviderRepository();
 
-        Commandline cl = StarteamCheckOutCommand.createCommandLine( repository, workingCopy, tag );
+        Commandline cl = StarteamCheckOutCommand.createCommandLine( repository, workingCopy, version );
 
         assertEquals( commandLine, cl.toString() );
     }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommandTest.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.ScmFileSet;
 import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -66,7 +68,7 @@
         String expectedCmd = "stcmd diff -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workingCopy +
             " -is -filter M" + " -vl label1 -vl label2 -eol on";
 
-        testCommandLine( mavenUrl, fileSet, "label1", "label2", expectedCmd );
+        testCommandLine( mavenUrl, fileSet, new ScmBranch( "label1" ), new ScmBranch( "label2" ), expectedCmd );
 
     }
 
@@ -74,7 +76,7 @@
     //
     // ----------------------------------------------------------------------
 
-    private void testCommandLine( String scmUrl, ScmFileSet basedir, String startLabel, String endLabel,
+    private void testCommandLine( String scmUrl, ScmFileSet basedir, ScmVersion startLabel, ScmVersion endLabel,
                                   String commandLine )
         throws Exception
     {

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommandTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommandTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommandTest.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.ScmTestCase;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils;
 import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -48,7 +50,7 @@
         String expectedCmd = "stcmd co -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workDirAbsolutePath +
             " -is -merge -neverprompt -vl myTag -eol on";
 
-        testCommandLine( mavenUrl, workingCopy, "myTag", expectedCmd );
+        testCommandLine( mavenUrl, workingCopy, new ScmTag( "myTag" ), expectedCmd );
 
     }
 
@@ -66,7 +68,7 @@
         String expectedCmd = "stcmd co -x -nologo -stop" + " -p " + starteamUrl + " -fp " + workDirAbsolutePath +
             " -merge -neverprompt -vl myTag" + " -eol on test.txt";
 
-        testCommandLine( mavenUrl, workingCopy, "myTag", expectedCmd );
+        testCommandLine( mavenUrl, workingCopy, new ScmTag( "myTag" ), expectedCmd );
     }
 
     public void testGetCommandLineWithFileInSubDir()
@@ -82,21 +84,21 @@
         String expectedCmd = "stcmd co -x -nologo -stop" + " -p " + starteamUrl + "/subdir" + " -fp " +
             workDirAbsolutePath + "/subdir" + " -merge -neverprompt -vl myTag" + " -eol on test.txt";
 
-        testCommandLine( mavenUrl, workingCopy, "myTag", expectedCmd );
+        testCommandLine( mavenUrl, workingCopy, new ScmTag( "myTag" ), expectedCmd );
     }
 
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
-    private void testCommandLine( String scmUrl, ScmFileSet fileSet, String tag, String commandLine )
+    private void testCommandLine( String scmUrl, ScmFileSet fileSet, ScmVersion version, String commandLine )
         throws Exception
     {
         ScmRepository repo = getScmManager().makeScmRepository( scmUrl );
 
         StarteamScmProviderRepository repository = (StarteamScmProviderRepository) repo.getProviderRepository();
 
-        Commandline cl = StarteamUpdateCommand.createCommandLine( repository, fileSet, tag );
+        Commandline cl = StarteamUpdateCommand.createCommandLine( repository, fileSet, version );
 
         System.out.println( commandLine );
 

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java Mon Apr  2 13:02:44 2007
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.ScmBranch;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
@@ -45,7 +46,7 @@
 {
 
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                          Date startDate, Date endDate, String branch,
+                                                          Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.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;
@@ -37,7 +38,7 @@
 {
 
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                      String message, String tag )
+                                                      String message, ScmVersion version )
         throws ScmException
     {
         getLogger().debug( "executing update command..." );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java Mon Apr  2 13:02:44 2007
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+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;
@@ -43,7 +44,7 @@
 {
 
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                        String tag )
+                                                        ScmVersion version )
         throws ScmException
     {
         if ( fileSet.getFileList().size() != 0 )
@@ -68,7 +69,7 @@
             }
             else
             {
-                SynergyUtil.checkoutProject( getLogger(), null, repo.getProjectSpec(), tag, repo.getProjectPurpose(),
+                SynergyUtil.checkoutProject( getLogger(), null, repo.getProjectSpec(), version, repo.getProjectPurpose(),
                                              repo.getProjectRelease(), CCM_ADDR );
                 project_spec =
                     SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java Mon Apr  2 13:02:44 2007
@@ -23,6 +23,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.changelog.ChangeLogCommand;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
 import org.apache.maven.scm.command.update.UpdateScmResult;
@@ -45,7 +46,8 @@
     extends AbstractUpdateCommand
     implements SynergyCommand
 {
-    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet, String tag )
+    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet,
+                                                    ScmVersion version )
         throws ScmException
     {
         getLogger().debug( "executing update command..." );

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java Mon Apr  2 13:02:44 2007
@@ -20,6 +20,8 @@
  */
 
 import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmVersion;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -542,7 +544,7 @@
      * @return
      * @throws ScmException
      */
-    public static Commandline checkoutProject( File directory, String project_spec, String version, String purpose,
+    public static Commandline checkoutProject( File directory, String project_spec, ScmVersion version, String purpose,
                                                String release, String CCM_ADDR )
         throws ScmException
     {
@@ -555,10 +557,10 @@
         cl.createArgument().setValue( "-subprojects" ); // Checkout sub-projects
         cl.createArgument().setValue( "-rel" ); // Relative
 
-        if ( version != null && !version.equals( "" ) )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             cl.createArgument().setValue( "-t" ); // Version
-            cl.createArgument().setValue( version );
+            cl.createArgument().setValue( version.getName() );
         }
 
         if ( purpose != null && !purpose.equals( "" ) )

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java Mon Apr  2 13:02:44 2007
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.synergy.consumer.SynergyCreateTaskConsumer;
 import org.apache.maven.scm.provider.synergy.consumer.SynergyGetCompletedTasksConsumer;
@@ -58,7 +59,7 @@
      * Remove prefix path from a path. Example: removeParent("c:\tmp",
      * "c:\tmp\foo.bar") returns "foo.bar"
      *
-     * @param parent parent path (prefix).
+     * @param prefix parent path (prefix).
      * @param file   file path.
      * @return suffix
      * @throws ScmException if parent is not a prefix of file
@@ -345,7 +346,6 @@
      *
      * @param logger  a logger.
      * @param file    file to be deleted.
-     * @param message log message for Synergy.
      * @param ccmAddr used to run in multi-session.
      * @throws ScmException
      */
@@ -476,7 +476,7 @@
      * @return checkout directory (directory + new project spec)
      * @throws ScmException
      */
-    public static void checkoutProject( ScmLogger logger, File directory, String project_spec, String version,
+    public static void checkoutProject( ScmLogger logger, File directory, String project_spec, ScmVersion version,
                                         String purpose, String release, String ccmAddr )
         throws ScmException
     {
@@ -518,9 +518,8 @@
     /**
      * Checkin a file set.
      *
-     * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
-     * @param ccmAddr      used to run in multi-session.
+     * @param logger  a logger.
+     * @param ccmAddr used to run in multi-session.
      * @return checkout directory (directory + new project spec)
      * @throws ScmException
      */

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java Mon Apr  2 13:02:44 2007
@@ -21,6 +21,7 @@
 
 import junit.framework.TestCase;
 import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmTag;
 import org.codehaus.plexus.util.cli.Commandline;
 
 import java.io.File;
@@ -274,14 +275,14 @@
     public void testCheckoutProject()
         throws Exception
     {
-        Commandline cl =
-            SynergyCCM.checkoutProject( null, "MyProject", "MyVersion", "MyPurpose", "MyRelease", "CCM_ADDR" );
+        Commandline cl = SynergyCCM.checkoutProject( null, "MyProject", new ScmTag( "MyVersion" ), "MyPurpose",
+                                                     "MyRelease", "CCM_ADDR" );
         assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironments(), "CCM_ADDR=CCM_ADDR" ) );
         assertEquals( "ccm co -subprojects -rel -t MyVersion -purpose MyPurpose -release MyRelease -p MyProject", cl
             .toString() );
         File f = File.createTempFile( "test", null );
-        cl = SynergyCCM.checkoutProject( f.getParentFile(), "MyProject", "MyVersion", "MyPurpose", "MyRelease",
-                                         "CCM_ADDR" );
+        cl = SynergyCCM.checkoutProject( f.getParentFile(), "MyProject", new ScmTag( "MyVersion" ), "MyPurpose",
+                                         "MyRelease", "CCM_ADDR" );
         if ( f.getCanonicalPath().indexOf( " " ) > -1 )
         {
             assertEquals( "ccm co -subprojects -rel -t MyVersion -purpose MyPurpose -release MyRelease -path \"" +

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.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.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
@@ -43,7 +44,7 @@
     extends AbstractChangeLogCommand
 {
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                          Date startDate, Date endDate, String branch,
+                                                          Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java Mon Apr  2 13:02:44 2007
@@ -21,13 +21,12 @@
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
-import org.apache.maven.scm.command.changelog.ChangeLogCommand;
+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;
 import org.apache.maven.scm.provider.vss.commands.VssCommandLineUtils;
 import org.apache.maven.scm.provider.vss.commands.VssConstants;
-import org.apache.maven.scm.provider.vss.commands.changelog.VssHistoryCommand;
 import org.apache.maven.scm.provider.vss.repository.VssScmProviderRepository;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -41,14 +40,14 @@
 {
 
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                        String tag )
+                                                        ScmVersion version )
         throws ScmException
     {
         getLogger().debug( "executing checkout command..." );
 
         VssScmProviderRepository repo = (VssScmProviderRepository) repository;
 
-        Commandline cl = buildCmdLine( repo, fileSet, tag );
+        Commandline cl = buildCmdLine( repo, fileSet, version );
 
         VssCheckOutConsumer consumer = new VssCheckOutConsumer( repo, getLogger() );
 
@@ -76,7 +75,7 @@
         return new CheckOutScmResult( cl.toString(), consumer.getUpdatedFiles() );
     }
 
-    public Commandline buildCmdLine( VssScmProviderRepository repo, ScmFileSet fileSet, String lable )
+    public Commandline buildCmdLine( VssScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
 
@@ -123,17 +122,4 @@
 
         return command;
     }
-
-    /**
-     * @see org.apache.maven.scm.command.checkout.AbstractCheckOutCommand#getChangeLogCommand()
-     */
-    protected ChangeLogCommand getChangeLogCommand()
-    {
-        VssHistoryCommand command = new VssHistoryCommand();
-
-        command.setLogger( getLogger() );
-
-        return command;
-    }
-
 }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.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.changelog.ChangeLogCommand;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
 import org.apache.maven.scm.command.update.UpdateScmResult;
@@ -40,14 +41,15 @@
     extends AbstractUpdateCommand
 {
     // TODO handle deleted files from VSS
-    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet, String tag )
+    protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet,
+                                                    ScmVersion version )
         throws ScmException
     {
         getLogger().debug( "executing update command..." );
 
         VssScmProviderRepository repo = (VssScmProviderRepository) repository;
 
-        Commandline cl = buildCmdLine( repo, fileSet, tag );
+        Commandline cl = buildCmdLine( repo, fileSet, version );
 
         VssUpdateConsumer consumer = new VssUpdateConsumer( repo, getLogger() );
 
@@ -76,7 +78,7 @@
         return new UpdateScmResult( cl.toString(), consumer.getUpdatedFiles() );
     }
 
-    public Commandline buildCmdLine( VssScmProviderRepository repo, ScmFileSet fileSet, String lable )
+    public Commandline buildCmdLine( VssScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
 

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/changelog/AbstractCvsChangeLogCommand.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/changelog/AbstractCvsChangeLogCommand.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/changelog/AbstractCvsChangeLogCommand.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/changelog/AbstractCvsChangeLogCommand.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.changelog.AbstractChangeLogCommand;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -28,6 +30,7 @@
 import org.apache.maven.scm.provider.cvslib.command.CvsCommandUtils;
 import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository;
 import org.apache.maven.scm.provider.cvslib.util.CvsUtil;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
 import java.text.SimpleDateFormat;
@@ -43,14 +46,15 @@
     implements CvsCommand
 {
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
-                                                          String startTag, String endTag, String datePattern )
+                                                          ScmVersion startVersion, ScmVersion endVersion,
+                                                          String datePattern )
         throws ScmException
     {
-        return executeChangeLogCommand( repo, fileSet, null, null, null, startTag, endTag, datePattern );
+        return executeChangeLogCommand( repo, fileSet, null, null, null, startVersion, endVersion, datePattern );
     }
 
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
-                                                          Date startDate, Date endDate, String branch,
+                                                          Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {
@@ -58,8 +62,8 @@
     }
 
     private ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, Date startDate,
-                                                        Date endDate, String branch, String startTag, String endTag,
-                                                        String datePattern )
+                                                        Date endDate, ScmBranch branch, ScmVersion startVersion,
+                                                        ScmVersion endVersion, String datePattern )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
@@ -86,14 +90,15 @@
             addDateRangeParameter( cl, dateRange );
         }
 
-        if ( branch != null )
+        if ( branch != null && StringUtils.isNotEmpty( branch.getName() ) )
         {
-            cl.createArgument().setValue( "-r" + branch );
+            cl.createArgument().setValue( "-r" + branch.getName() );
         }
 
-        if ( startTag != null )
+        if ( startVersion != null && StringUtils.isNotEmpty( startVersion.getName() ) )
         {
-            String param = "-r" + startTag + "::" + ( endTag != null ? endTag : "" );
+            String param = "-r" + startVersion.getName() + "::" +
+                ( endVersion != null && StringUtils.isNotEmpty( endVersion.getName() ) ? endVersion.getName() : "" );
 
             cl.createArgument().setValue( param );
         }

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/checkin/AbstractCvsCheckInCommand.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/checkin/AbstractCvsCheckInCommand.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/checkin/AbstractCvsCheckInCommand.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/checkin/AbstractCvsCheckInCommand.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;
@@ -44,16 +45,16 @@
     implements CvsCommand
 {
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
-                                                      String tag )
+                                                      ScmVersion version )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
 
         Commandline cl = CvsCommandUtils.getBaseCommand( "commit", repository, fileSet, false );
 
-        if ( !StringUtils.isEmpty( tag ) )
+        if ( version != null && !StringUtils.isEmpty( version.getName() ) )
         {
-            cl.createArgument().setValue( "-r" + tag );
+            cl.createArgument().setValue( "-r" + version.getName() );
         }
 
         cl.createArgument().setValue( "-R" );

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/checkout/AbstractCvsCheckOutCommand.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/checkout/AbstractCvsCheckOutCommand.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/checkout/AbstractCvsCheckOutCommand.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/checkout/AbstractCvsCheckOutCommand.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.checkout.AbstractCheckOutCommand;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -42,7 +43,8 @@
     extends AbstractCheckOutCommand
     implements CvsCommand
 {
-    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag )
+    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                        ScmVersion version )
         throws ScmException
     {
         if ( fileSet.getBasedir().exists() )
@@ -63,10 +65,10 @@
 
         cl.setWorkingDirectory( fileSet.getBasedir().getParentFile().getAbsolutePath() );
 
-        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/diff/AbstractCvsDiffCommand.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/diff/AbstractCvsDiffCommand.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/diff/AbstractCvsDiffCommand.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/diff/AbstractCvsDiffCommand.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.diff.AbstractDiffCommand;
 import org.apache.maven.scm.command.diff.DiffScmResult;
 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;
 
 /**
@@ -37,8 +39,8 @@
     extends AbstractDiffCommand
     implements CvsCommand
 {
-    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, String startRevision,
-                                                String endRevision )
+    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                ScmVersion startRevision, ScmVersion endRevision )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepository) repo;
@@ -52,16 +54,16 @@
             cl.createArgument().setValue( "-N" );
         }
 
-        if ( startRevision != null )
+        if ( startRevision != null && StringUtils.isNotEmpty( startRevision.getName() ) )
         {
             cl.createArgument().setValue( "-r" );
-            cl.createArgument().setValue( startRevision );
+            cl.createArgument().setValue( startRevision.getName() );
         }
 
-        if ( endRevision != null )
+        if ( endRevision != null && StringUtils.isNotEmpty( endRevision.getName() ) )
         {
             cl.createArgument().setValue( "-r" );
-            cl.createArgument().setValue( endRevision );
+            cl.createArgument().setValue( endRevision.getName() );
         }
 
         getLogger().info( "Executing: " + cl );

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/export/AbstractCvsExportCommand.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/export/AbstractCvsExportCommand.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/export/AbstractCvsExportCommand.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/export/AbstractCvsExportCommand.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.export.AbstractExportCommand;
 import org.apache.maven.scm.command.export.ExportScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -36,7 +37,7 @@
 public abstract class AbstractCvsExportCommand
     extends AbstractExportCommand
 {
-    protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag,
+    protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version,
                                                     String outputDirectory )
         throws ScmException
     {
@@ -44,9 +45,9 @@
 
         Commandline cl = CvsCommandUtils.getBaseCommand( "export", repository, fileSet );
 
-        if ( tag != null )
+        if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
-            cl.createArgument().setValue( "-r" + tag );
+            cl.createArgument().setValue( "-r" + version.getName() );
         }
         else
         {