[maven-scm] copy for tag maven-scm-1.0-beta-1

git-svn-id: https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0-beta-1@344164 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/maven-scm-api/pom.xml b/maven-scm-api/pom.xml
index 9095d49..4bbadf9 100644
--- a/maven-scm-api/pom.xml
+++ b/maven-scm-api/pom.xml
@@ -2,12 +2,12 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-api</artifactId>
   <name>Maven SCM API</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
diff --git a/maven-scm-client/pom.xml b/maven-scm-client/pom.xml
index 5dd575b..a9ec33e 100644
--- a/maven-scm-client/pom.xml
+++ b/maven-scm-client/pom.xml
@@ -2,47 +2,47 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-client</artifactId>
   <name>Maven SCM Client</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-perforce</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-local</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-clearcase</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-starteam</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvs</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svn</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
   </dependencies>
 </project>
\ No newline at end of file
diff --git a/maven-scm-managers/maven-scm-manager-plexus/pom.xml b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
index 10822da..2852663 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/pom.xml
+++ b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
@@ -2,12 +2,12 @@
   <parent>
     <artifactId>maven-scm-managers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-manager-plexus</artifactId>
   <name>Maven SCM Manager for Plexus</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>plexus</groupId>
diff --git a/maven-scm-managers/pom.xml b/maven-scm-managers/pom.xml
index d30e0c3..1a92971 100644
--- a/maven-scm-managers/pom.xml
+++ b/maven-scm-managers/pom.xml
@@ -2,13 +2,13 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-managers</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM Managers</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <modules>
     <module>maven-scm-manager-plexus</module>
   </modules>
@@ -16,7 +16,7 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
   </dependencies>
 </project>
\ No newline at end of file
diff --git a/maven-scm-plugin/pom.xml b/maven-scm-plugin/pom.xml
index 6b99edd..efdbb41 100644
--- a/maven-scm-plugin/pom.xml
+++ b/maven-scm-plugin/pom.xml
@@ -2,14 +2,14 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-scm-plugin</artifactId>
   <packaging>maven-plugin</packaging>
   <name>Maven SCM Plugin</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -24,37 +24,37 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-perforce</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-local</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-clearcase</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-starteam</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvs</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svn</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
   </dependencies>
-</project>
+</project>
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
index 773e45f..2839546 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
@@ -2,10 +2,10 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-clearcase</artifactId>
   <name>Maven SCM Clearcase Provider</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
 </project>
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-cvs/pom.xml b/maven-scm-providers/maven-scm-provider-cvs/pom.xml
index d60d2d7..80e9e41 100644
--- a/maven-scm-providers/maven-scm-provider-cvs/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-cvs/pom.xml
@@ -2,10 +2,10 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-cvs</artifactId>
   <name>Maven SCM CVS Provider</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
 </project>
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-local/pom.xml b/maven-scm-providers/maven-scm-provider-local/pom.xml
index 801352d..e56d039 100644
--- a/maven-scm-providers/maven-scm-provider-local/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-local/pom.xml
@@ -2,10 +2,10 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-local</artifactId>
   <name>Maven SCM Local Provider</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
 </project>
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-perforce/pom.xml b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
index 4ec2486..5da321d 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
@@ -2,12 +2,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-perforce</artifactId>
   <name>Maven SCM Perforce Provider</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>regexp</groupId>
diff --git a/maven-scm-providers/maven-scm-provider-starteam/pom.xml b/maven-scm-providers/maven-scm-provider-starteam/pom.xml
index 0666ec4..05fb1d4 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-starteam/pom.xml
@@ -2,10 +2,10 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-starteam</artifactId>
   <name>Maven SCM Starteam Provider</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
 </project>
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-svn/pom.xml b/maven-scm-providers/maven-scm-provider-svn/pom.xml
index 423e9c2..1aabf43 100644
--- a/maven-scm-providers/maven-scm-provider-svn/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-svn/pom.xml
@@ -2,12 +2,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-svn</artifactId>
   <name>Maven SCM Subversion Provider</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>regexp</groupId>
diff --git a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommand.java
index 9a53749..c6174b5 100644
--- a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommand.java
@@ -21,6 +21,7 @@
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.svn.SvnTagBranchUtils;
 import org.apache.maven.scm.provider.svn.command.SvnCommand;
 import org.apache.maven.scm.provider.svn.command.SvnCommandLineUtils;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
@@ -41,7 +42,7 @@
     extends AbstractChangeLogCommand
     implements SvnCommand
 {
-    private final static String DATE_FORMAT = "yyyy/MM/dd 'GMT'";
+    private final static String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
 
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, int numDays, String branch )
@@ -92,6 +93,8 @@
         cl.createArgument().setValue( "log" );
 
         cl.createArgument().setValue( "-v" );
+        
+        // TODO: May want to add some kind of support for --stop-on-copy and --limit NUM
 
         if ( startDate != null )
         {
@@ -107,15 +110,14 @@
                 cl.createArgument().setValue( "{" + dateFormat.format( startDate ) + "}:HEAD" );
             }
         }
-        else
+        
+        if ( branch != null )
         {
-            if ( branch != null )
-            {
-                cl.createArgument().setValue( "-r" );
-                cl.createArgument().setValue( branch );
-            }
+            // 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 ) );
         }
-
+        
         cl.createArgument().setValue( repository.getUrl() );
 
         return cl;
diff --git a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommand.java
index 1464a9e..de4cff1 100644
--- a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommand.java
@@ -21,6 +21,7 @@
 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.svn.SvnTagBranchUtils;
 import org.apache.maven.scm.provider.svn.command.SvnCommand;
 import org.apache.maven.scm.provider.svn.command.SvnCommandLineUtils;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
@@ -46,13 +47,7 @@
         String url = repository.getUrl();
         if ( tag != null )
         {
-            String tagBase = repository.getTagBase();
-
-            if ( tagBase == null )
-            {
-                throw new ScmException( "tag base must be specified" );
-            }
-            url = tagBase + "/" + tag;
+            url = SvnTagBranchUtils.resolveTagUrl( repository, tag );
         }
 
         // TODO: revision
diff --git a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommand.java b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommand.java
index a015087..1323041 100644
--- a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommand.java
@@ -16,6 +16,12 @@
  * limitations under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
@@ -24,6 +30,7 @@
 import org.apache.maven.scm.command.tag.AbstractTagCommand;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.svn.SvnTagBranchUtils;
 import org.apache.maven.scm.provider.svn.command.SvnCommand;
 import org.apache.maven.scm.provider.svn.command.SvnCommandLineUtils;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
@@ -32,12 +39,6 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id$
@@ -62,12 +63,6 @@
 
         SvnScmProviderRepository repository = (SvnScmProviderRepository) repo;
 
-        String tagBase = repository.getTagBase();
-        if ( tagBase == null )
-        {
-            throw new ScmException( "tag base must be specified" );
-        }
-
         File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null );
 
         try
@@ -81,7 +76,7 @@
                                      null, false );
         }
 
-        Commandline cl = createCommandLine( repository, fileSet.getBasedir(), tagBase, tag, messageFile );
+        Commandline cl = createCommandLine( repository, fileSet.getBasedir(), tag, messageFile );
 
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
 
@@ -132,7 +127,7 @@
     // ----------------------------------------------------------------------
 
     private static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory,
-                                                  String tagBase, String tag, File messageFile )
+                                                  String tag, File messageFile )
     {
         Commandline cl = SvnCommandLineUtils.getBaseSvnCommandLine( workingDirectory, repository );
 
@@ -145,7 +140,7 @@
         cl.createArgument().setValue( "." );
 
         // Note: this currently assumes you have the tag base checked out too
-        cl.createArgument().setValue( tagBase + "/" + tag );
+        cl.createArgument().setValue( SvnTagBranchUtils.resolveTagUrl( repository, tag ) );
 
         return cl;
     }
diff --git a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
index 12e219e..bf9f7b7 100644
--- a/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
@@ -29,7 +29,7 @@
     private String url;
 
     /**
-     * The base directory for any tags, relative to the URL given. Default is <code>../tags</code>.
+     * The base directory for any tags. Can be relative to the repository URL or an absolute URL. 
      */
     private String tagBase;
 
@@ -61,9 +61,10 @@
      * The TagBase is a way to override the default tag location for the 
      * repository.  The default tag location is automatically determined 
      * for repositories in the standard subversion layout (with /tags /branches /trunk). 
+     * Specify this value only if the repository is using a directory other than "/tags" for tagging.
      *
      * @param tagBase  an absolute or relative url to the base directory to create tags in. 
-     *                 Should not be in a format that svn client understands, not the scm url format.
+     *                 URL should be in a format that svn client understands, not the scm url format.
      */
     public void setTagBase( String tagBase )
     {
diff --git a/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommandTest.java b/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommandTest.java
index f789ecd..e8d7768 100644
--- a/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommandTest.java
+++ b/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/changelog/SvnChangeLogCommandTest.java
@@ -22,6 +22,7 @@
 import org.codehaus.plexus.util.cli.Commandline;
 
 import java.io.File;
+import java.util.Calendar;
 import java.util.Date;
 
 /**
@@ -31,21 +32,99 @@
 public class SvnChangeLogCommandTest
     extends ScmTestCase
 {
-    public void testCommandLine()
+    public void testCommandLineNoDates()
         throws Exception
     {
-        Date startDate = getDate( 2003, 8, 10, GMT_TIME_ZONE );
-        Date endDate = getDate( 2003, 9, 10, GMT_TIME_ZONE );
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, null, null,
+                         "svn --non-interactive log -v http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineWithDates()
+        throws Exception
+    {
+        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", null, startDate, endDate,
-                         "svn --non-interactive log -v -r \"{2003/09/10 GMT}:{2003/10/10 GMT}\" http://foo.com/svn/trunk" );
+                         "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineStartDateOnly()
+        throws Exception
+    {
+        Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE );
+
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, startDate, null,
+                         "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineDateFormat()
+        throws Exception
+    {
+        Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE );
+        Date endDate = getDate( 2005, Calendar.NOVEMBER, 13, 23, 23, 23, GMT_TIME_ZONE );
+
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, startDate, endDate,
+                         "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:{2005-11-13 23:23:23 +0000}\" http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineEndDateOnly()
+        throws Exception
+    {
+        Date endDate = getDate( 2003, Calendar.NOVEMBER, 10, GMT_TIME_ZONE );
+
+        // Only specifying end date should print no dates at all
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, null, endDate,
+                         "svn --non-interactive log -v http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineWithBranchNoDates()
+        throws Exception
+    {
+        testCommandLine( "scm:svn:http://foo.com/svn/trunk", "my-test-branch", null, null,
+                         "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineWithBranchStartDateOnly()
+        throws Exception
+    {
+        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,
+                         "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" );
+    }
+
+    public void testCommandLineWithBranchEndDateOnly()
+        throws Exception
+    {
+        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,
+                         "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" );
+    }
+
+    public void testCommandLineWithBranchBothDates()
+        throws Exception
+    {
+        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,
+                         "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" );
     }
 
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
-    private void testCommandLine( String scmUrl, String tag, Date startDate, Date endDate, String commandLine )
+    private void testCommandLine( String scmUrl, String branch, Date startDate, Date endDate, String commandLine )
         throws Exception
     {
         File workingDirectory = getTestFile( "target/svn-update-command-test" );
@@ -54,7 +133,7 @@
 
         SvnScmProviderRepository svnRepository = (SvnScmProviderRepository) repository.getProviderRepository();
 
-        Commandline cl = SvnChangeLogCommand.createCommandLine( svnRepository, workingDirectory, tag, startDate,
+        Commandline cl = SvnChangeLogCommand.createCommandLine( svnRepository, workingDirectory, branch, startDate,
                                                                 endDate );
 
         assertEquals( commandLine, cl.toString() );
diff --git a/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java b/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java
index 205a5a9..edca257 100644
--- a/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java
@@ -16,14 +16,11 @@
  * limitations under the License.
  */
 
-import org.apache.maven.scm.manager.ScmManager;
-import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
-import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
-import org.apache.maven.scm.repository.ScmRepository;
-import org.apache.maven.scm.tck.command.tag.TagCommandTckTest;
-
 import java.io.File;
 
+import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
+import org.apache.maven.scm.tck.command.tag.TagCommandTckTest;
+
 /**
  * This test tests the tag command.
  *
@@ -37,16 +34,7 @@
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
-
-    protected ScmRepository getScmRepository( ScmManager scmManager )
-        throws Exception
-    {
-        ScmRepository repo = super.getScmRepository( scmManager );
-        SvnScmProviderRepository repository = (SvnScmProviderRepository) repo.getProviderRepository();
-        repository.setTagBase( SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "tags" ) ).substring( "scm:svn:".length() ) );
-        return repo;
-    }
-
+    
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/pom.xml b/maven-scm-providers/pom.xml
index 33e0738..aeb7645 100644
--- a/maven-scm-providers/pom.xml
+++ b/maven-scm-providers/pom.xml
@@ -2,13 +2,13 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-providers</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM Providers</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <modules>
     <module>maven-scm-provider-clearcase</module>
     <module>maven-scm-provider-cvs</module>
@@ -21,12 +21,12 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-test/pom.xml b/maven-scm-test/pom.xml
index 34e0a2b..c75952f 100644
--- a/maven-scm-test/pom.xml
+++ b/maven-scm-test/pom.xml
@@ -2,22 +2,22 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-beta-1-SNAPSHOT</version>
+    <version>1.0-beta-1</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-test</artifactId>
   <name>Maven SCM Test</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.0-beta-1-SNAPSHOT</version>
+      <version>1.0-beta-1</version>
     </dependency>
   </dependencies>
 </project>
\ No newline at end of file
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java
index b9e4734..173dc6f 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java
@@ -216,22 +216,25 @@
 
     public static Date getDate( int year, int month, int day )
     {
-        Calendar cal = Calendar.getInstance();
-
-        cal.set( year, month, day, 0, 0, 0 );
-        cal.set( Calendar.MILLISECOND, 0 );
-
-        return cal.getTime();
+        return getDate(year, month, day, 0, 0, 0, null);
     }
 
     protected static Date getDate( int year, int month, int day, TimeZone tz )
     {
+        return getDate(year, month, day, 0, 0, 0, tz);
+    }
+    
+    protected static Date getDate( int year, int month, int day, int hourOfDay, int minute, int second, TimeZone tz )
+    {
         Calendar cal = Calendar.getInstance();
-
-        cal.setTimeZone( tz );
-        cal.set( year, month, day, 0, 0, 0 );
+        
+        if ( tz != null )
+        {
+            cal.setTimeZone( tz );
+        }
+        cal.set( year, month, day, hourOfDay, minute, second );
         cal.set( Calendar.MILLISECOND, 0 );
-
+        
         return cal.getTime();
     }
 }
diff --git a/pom.xml b/pom.xml
index 73659d2..1ed3237 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,11 +4,11 @@
   <artifactId>maven-scm</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM</name>
-  <version>1.0-beta-1-SNAPSHOT</version>
+  <version>1.0-beta-1</version>
   <issueManagement>
     <system>jira</system>
     <url>http://jira.codehaus.org/browse/SCM</url>
-  </issueManagement>            
+  </issueManagement>
   <ciManagement>
     <notifiers>
       <notifier>
@@ -38,8 +38,8 @@
     </developer>
   </developers>
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/trunk/</connection>
-    <developerConnection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/trunk/</developerConnection>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0-beta-1/</connection>
+    <developerConnection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0-beta-1/</developerConnection>
     <url>http://svn.apache.org/viewcvs.cgi/maven/scm/</url>
   </scm>
   <organization>
@@ -110,4 +110,4 @@
       <url>scp://minotaur.apache.org/www/maven.apache.org/maven2/scm/</url>
     </site>
   </distributionManagement>
-</project>
+</project>
\ No newline at end of file