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

git-svn-id: https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0@541012 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/maven-scm-api/pom.xml b/maven-scm-api/pom.xml
index c1db5c6..876443b 100644
--- a/maven-scm-api/pom.xml
+++ b/maven-scm-api/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-api</artifactId>
   <name>Maven SCM API</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
diff --git a/maven-scm-client/pom.xml b/maven-scm-client/pom.xml
index 5c30b38..6988093 100644
--- a/maven-scm-client/pom.xml
+++ b/maven-scm-client/pom.xml
@@ -21,72 +21,72 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-client</artifactId>
   <name>Maven SCM Client</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-bazaar</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-clearcase</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvsexe</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvsjava</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-hg</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-local</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-perforce</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-starteam</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svnexe</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-synergy</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-vss</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-managers/maven-scm-manager-plexus/pom.xml b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
index 9f26307..02e3d87 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/pom.xml
+++ b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-managers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-manager-plexus</artifactId>
   <name>Maven SCM Manager for Plexus</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
diff --git a/maven-scm-managers/pom.xml b/maven-scm-managers/pom.xml
index ceee9d6..9a1620f 100644
--- a/maven-scm-managers/pom.xml
+++ b/maven-scm-managers/pom.xml
@@ -21,13 +21,13 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-managers</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM Managers</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <modules>
     <module>maven-scm-manager-plexus</module>
   </modules>
@@ -35,7 +35,7 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-plugin/pom.xml b/maven-scm-plugin/pom.xml
index 8c24185..32e0fbd 100644
--- a/maven-scm-plugin/pom.xml
+++ b/maven-scm-plugin/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.maven.plugins</groupId>
@@ -29,7 +29,7 @@
   <packaging>maven-plugin</packaging>
   <name>Maven SCM Plugin</name>
   <description>Maven Plugin that allows accessing different SCMs</description>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <prerequisites>
     <maven>2.0.1</maven>
   </prerequisites>
@@ -78,62 +78,62 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-bazaar</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-clearcase</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvsexe</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvsjava</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-hg</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-local</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-perforce</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-starteam</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svnexe</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-synergy</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-vss</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
@@ -144,7 +144,7 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svntest</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/pom.xml b/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
index 7fd6491..bd8ee2f 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-bazaar</artifactId>
   <name>Maven SCM Bazaar Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>regexp</groupId>
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
index edfe7f9..419097b 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-clearcase</artifactId>
   <name>Maven SCM Clearcase Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-provider-hg/pom.xml b/maven-scm-providers/maven-scm-provider-hg/pom.xml
index 5316ec2..2ddd4b4 100644
--- a/maven-scm-providers/maven-scm-provider-hg/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-hg/pom.xml
@@ -21,12 +21,12 @@
     <parent>
         <artifactId>maven-scm-providers</artifactId>
         <groupId>org.apache.maven.scm</groupId>
-        <version>1.0-SNAPSHOT</version>
+        <version>1.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>maven-scm-provider-hg</artifactId>
     <name>Maven SCM Mercurial (Hg) Provider</name>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
 
     <contributors>
         <contributor>
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java
index ae420c4..357600b 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java
@@ -31,9 +31,11 @@
 import org.apache.maven.scm.command.remove.RemoveScmResult;
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
+import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.provider.AbstractScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.tag.HgTagCommand;
 import org.apache.maven.scm.provider.hg.command.add.HgAddCommand;
 import org.apache.maven.scm.provider.hg.command.changelog.HgChangeLogCommand;
 import org.apache.maven.scm.provider.hg.command.checkin.HgCheckInCommand;
@@ -239,6 +241,21 @@
     }
 
     /**
+     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
+     */
+    public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet,
+                                       CommandParameters parameters )
+        throws ScmException
+    {
+        HgTagCommand command = new HgTagCommand();
+
+        command.setLogger( getLogger() );
+
+        return (TagScmResult) command.execute( repository, fileSet, parameters );
+    }
+
+
+    /**
      * @see org.apache.maven.scm.provider.AbstractScmProvider#diff(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
      */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommand.java
index ace3edd..bfc2bbc 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommand.java
@@ -93,7 +93,12 @@
     public static final String REVNO_CMD = "id";
 
     /**
-     * Show inventory of the current working copy or a revision
+     * Tag this revision
+     */
+    public static final String TAG_CMD = "tag";
+
+    /**
+     * Show list of the current working copy or a revision
      */
     public static final String INVENTORY_CMD = "locate";
 
@@ -111,4 +116,5 @@
     public static final String VERSION = "version";
 
     public static final String CHECK = "check";
+    String ALL_OPTION = "-A";
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java
index 0b16d8d..13b788a 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java
@@ -74,13 +74,13 @@
         identifiers.put( "renamed", ScmFileStatus.MODIFIED );
 
         /** Statuses from hg status;
-         *  TODO "! deleted but still tracked"
-         *  d 
          */
         identifiers.put( "A", ScmFileStatus.ADDED );
         identifiers.put( "?", ScmFileStatus.UNKNOWN );
         identifiers.put( "M", ScmFileStatus.MODIFIED );
         identifiers.put( "R", ScmFileStatus.DELETED );
+        identifiers.put( "C", ScmFileStatus.CHECKED_IN );
+        identifiers.put( "!", ScmFileStatus.MISSING );
         identifiers.put( "I", ScmFileStatus.UNKNOWN ); // not precisely the same, but i think semantics work? - rwd
 
         messages.put( "hg: WARNING:", "WARNING" );
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java
new file mode 100644
index 0000000..9b6eda4
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java
@@ -0,0 +1,71 @@
+package org.apache.maven.scm.provider.hg.command.inventory;
+
+import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.HgUtils;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.command.list.AbstractListCommand;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.*;
+
+import java.io.File;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Get a list of all files in the repository
+ * 
+ * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ */
+public class HgListCommand extends AbstractListCommand
+        implements HgCommand 
+{
+
+    protected ListScmResult executeListCommand(ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion scmVersion) throws ScmException {
+
+        if ( fileSet.getFiles().length != 0 )
+        {
+            throw new ScmException( "This provider doesn't support listing subsets of a directory" );
+        }
+        //
+        File workingDir = fileSet.getBasedir();
+
+         // build the command
+        String[] listCmd = new String[]{STATUS_CMD, ALL_OPTION};
+
+        // keep the command about in string form for reporting
+        StringBuffer cmd = new StringBuffer();
+        for (int i = 0; i < listCmd.length; i++) {
+            String s = listCmd[i];
+            cmd.append(s);
+            if (i < listCmd.length - 1)
+                cmd.append(" ");
+        }
+
+        HgListConsumer consumer = new HgListConsumer( getLogger() );
+
+        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, listCmd);
+
+        if (result.isSuccess()) {
+            return new ListScmResult(consumer.getFiles(), result);
+        } else {
+            throw new ScmException( "Error while executing command " + cmd.toString() );
+        }
+    }
+}
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java
new file mode 100644
index 0000000..8125a60
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java
@@ -0,0 +1,52 @@
+package org.apache.maven.scm.provider.hg.command.inventory;
+
+import org.apache.maven.scm.provider.hg.command.HgConsumer;
+import org.apache.maven.scm.log.ScmLogger;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmFile;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Get a list of all files in the repository
+ *
+ * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ */
+public class HgListConsumer extends HgConsumer {
+
+    private List files = new ArrayList();
+
+    public HgListConsumer( ScmLogger logger )
+    {
+        super( logger );
+    }
+
+    public void doConsume( ScmFileStatus status, String trimmedLine )
+    {
+        files.add(new ScmFile(trimmedLine, status));
+    }
+
+    public List getFiles() {
+        return files;
+    }
+}
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
new file mode 100644
index 0000000..2f6a2dc
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
@@ -0,0 +1,121 @@
+package org.apache.maven.scm.provider.hg.command.tag;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.*;
+import org.apache.maven.scm.command.add.AddScmResult;
+import org.apache.maven.scm.command.tag.AbstractTagCommand;
+import org.apache.maven.scm.command.tag.TagScmResult;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.hg.HgUtils;
+import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository;
+import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgConsumer;
+import org.apache.maven.scm.provider.hg.command.inventory.HgListCommand;
+import org.apache.maven.scm.provider.hg.command.inventory.HgListConsumer;
+import org.apache.maven.scm.provider.hg.command.add.HgAddConsumer;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Tag
+ *
+ * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ */
+public class HgTagCommand
+        extends AbstractTagCommand
+        implements HgCommand
+{
+
+    protected ScmResult executeTagCommand(ScmProviderRepository scmProviderRepository, ScmFileSet fileSet, String tag, String message) throws ScmException {
+
+        if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
+        {
+            throw new ScmException( "tag must be specified" );
+        }
+
+        if ( fileSet.getFiles().length != 0 )
+        {
+            throw new ScmException( "This provider doesn't support tagging subsets of a directory" );
+        }
+
+        File workingDir = fileSet.getBasedir();
+
+
+        // build the command
+        String[] tagCmd = new String[]{TAG_CMD, MESSAGE_OPTION, message, tag };
+
+        // keep the command about in string form for reporting
+        StringBuffer cmd = joinCmd(tagCmd);
+
+        HgTagConsumer consumer = new HgTagConsumer( getLogger() );
+        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, tagCmd);
+        HgScmProviderRepository repository = (HgScmProviderRepository) scmProviderRepository;
+        if (result.isSuccess()) {
+            // now push
+            // Push to parent branch if any
+            if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) )
+            {
+                String[] push_cmd = new String[]{HgCommand.PUSH_CMD, repository.getURI()};
+                result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), push_cmd );
+            }
+        } else {
+            throw new ScmException( "Error while executing command " + cmd.toString() );
+        }
+
+        // do an inventory to return the files tagged (all of them)
+        String[] list_cmd = new String[]{HgCommand.INVENTORY_CMD};
+        HgListConsumer listconsumer = new HgListConsumer(getLogger());
+        result =  HgUtils.execute(listconsumer, getLogger(), fileSet.getBasedir(), list_cmd);
+        if (result.isSuccess()) {
+            List files = listconsumer.getFiles();
+            ArrayList fileList = new ArrayList();
+            for ( Iterator i = files.iterator(); i.hasNext(); )
+            {
+                ScmFile f = (ScmFile) i.next();
+
+                if (!f.getPath().endsWith(".hgtags"))
+                    fileList.add( new ScmFile( f.getPath(), ScmFileStatus.TAGGED ) );
+            }
+
+            return new TagScmResult(fileList, result);
+        } else {
+            throw new ScmException( "Error while executing command " + cmd.toString() );
+        }
+    }
+
+    private StringBuffer joinCmd(String[] cmd) {
+        StringBuffer result = new StringBuffer();
+        for (int i = 0; i < cmd.length; i++) {
+            String s = cmd[i];
+            result.append(s);
+            if (i < cmd.length - 1)
+                result.append(" ");
+        }
+        return result;
+    }
+}
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java
new file mode 100644
index 0000000..40341ea
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java
@@ -0,0 +1,46 @@
+package org.apache.maven.scm.provider.hg.command.tag;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.ScmLogger;
+import org.apache.maven.scm.provider.hg.command.HgConsumer;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ */
+public class HgTagConsumer
+        extends HgConsumer
+{
+    public HgTagConsumer( ScmLogger logger )
+    {
+        super( logger );
+    }
+
+    public void doConsume( ScmFileStatus status, String trimmedLine )
+    {       
+    }
+
+}
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommandTckTest.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommandTckTest.java
new file mode 100644
index 0000000..cd750ea
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommandTckTest.java
@@ -0,0 +1,45 @@
+package org.apache.maven.scm.provider.hg.command.tag;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.provider.hg.HgRepoUtils;
+import org.apache.maven.scm.tck.command.tag.TagCommandTckTest;
+
+/**
+ * This test tests the tag command.
+ *
+ * @author <a href="mailto:ryan@darksleep.com">Ryan Daum</a>
+ * @version $Id$
+ */
+public class HgTagCommandTckTest
+        extends TagCommandTckTest
+{
+     public String getScmUrl()
+        throws Exception
+    {
+        return HgRepoUtils.getScmUrl();
+    }
+
+    public void initRepo()
+        throws Exception
+    {
+        HgRepoUtils.initRepo();
+    }
+}
diff --git a/maven-scm-providers/maven-scm-provider-local/pom.xml b/maven-scm-providers/maven-scm-provider-local/pom.xml
index c83ace8..163c1c7 100644
--- a/maven-scm-providers/maven-scm-provider-local/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-local/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-local</artifactId>
   <name>Maven SCM Local Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-provider-perforce/pom.xml b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
index 4443476..81a4101 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-perforce</artifactId>
   <name>Maven SCM Perforce Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</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 65fdf93..86a073e 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-starteam/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-starteam</artifactId>
   <name>Maven SCM Starteam Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
 
   <build>
     <plugins>
diff --git a/maven-scm-providers/maven-scm-provider-synergy/pom.xml b/maven-scm-providers/maven-scm-provider-synergy/pom.xml
index 3308a4e..1b8c59e 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-synergy/pom.xml
@@ -3,12 +3,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <groupId>org.apache.maven.scm</groupId>
   <artifactId>maven-scm-provider-synergy</artifactId>
   <name>Maven SCM Synergy Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
 
   <build>
     <plugins>
diff --git a/maven-scm-providers/maven-scm-provider-vss/pom.xml b/maven-scm-providers/maven-scm-provider-vss/pom.xml
index 217186d..543ca93 100644
--- a/maven-scm-providers/maven-scm-provider-vss/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-vss/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-vss</artifactId>
   <name>Maven SCM Visual Source Safe Provider</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
index f35e212..4956a4f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-cvs-commons</artifactId>
   <name>Maven SCM CVS Provider - Common library</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <build>
     <plugins>
       <plugin>
@@ -53,7 +53,7 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvstest</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
index aabd08e..0dcdd27 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml
@@ -21,23 +21,23 @@
   <parent>
     <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-cvsexe</artifactId>
   <name>Maven SCM CVS Provider - CVS Executable Impl.</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvstest</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvs-commons</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml
index 422f8b0..291254c 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml
@@ -21,17 +21,17 @@
   <parent>
     <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-cvsjava</artifactId>
   <name>Maven SCM CVS Provider - CVS Java Impl.</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvs-commons</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.netbeans.lib</groupId>
@@ -46,7 +46,7 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvstest</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml
index 4a0411e..bb3fd1f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml
@@ -21,17 +21,17 @@
   <parent>
     <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-cvstest</artifactId>
   <name>Maven SCM CVS Provider TCK tests</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/pom.xml
index 551250b..fc885eb 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/pom.xml
@@ -21,13 +21,13 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-providers-cvs</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM CVS Provider - Parent</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <modules>
     <module>maven-scm-provider-cvs-commons</module>
     <module>maven-scm-provider-cvsexe</module>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
index ffbc513..3b56a6a 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
@@ -21,12 +21,12 @@
   <parent>
     <artifactId>maven-scm-providers-svn</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-svn-commons</artifactId>
   <name>Maven SCM Subversion Provider - Common library</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
index 02744f0..bc60f85 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
@@ -21,22 +21,22 @@
   <parent>
     <artifactId>maven-scm-providers-svn</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-svnexe</artifactId>
   <name>Maven SCM Subversion Provider - SVN Executable Impl.</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svn-commons</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svntest</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml
index 8271a7e..a51a5e6 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml
@@ -21,17 +21,17 @@
   <parent>
     <artifactId>maven-scm-providers-svn</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-provider-svntest</artifactId>
   <name>Maven SCM Subversion Provider TCK Tests</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-providers/maven-scm-providers-svn/pom.xml b/maven-scm-providers/maven-scm-providers-svn/pom.xml
index e4c462d..b9eb877 100644
--- a/maven-scm-providers/maven-scm-providers-svn/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/pom.xml
@@ -21,13 +21,13 @@
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-providers-svn</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM Subversion Provider - Parent</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <modules>
     <module>maven-scm-provider-svn-commons</module>
     <module>maven-scm-provider-svnexe</module>
diff --git a/maven-scm-providers/pom.xml b/maven-scm-providers/pom.xml
index 2170bec..91b3392 100644
--- a/maven-scm-providers/pom.xml
+++ b/maven-scm-providers/pom.xml
@@ -21,13 +21,13 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-providers</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM Providers</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <modules>
     <module>maven-scm-provider-bazaar</module>
     <module>maven-scm-provider-clearcase</module>
@@ -44,12 +44,12 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-test/pom.xml b/maven-scm-test/pom.xml
index 33a892f..27bc46a 100644
--- a/maven-scm-test/pom.xml
+++ b/maven-scm-test/pom.xml
@@ -21,22 +21,22 @@
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-scm-test</artifactId>
   <name>Maven SCM Test</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/pom.xml b/pom.xml
index 9f260e2..78cbffa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
   <artifactId>maven-scm</artifactId>
   <packaging>pom</packaging>
   <name>Maven SCM</name>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <issueManagement>
     <system>jira</system>
     <url>http://jira.codehaus.org/browse/SCM</url>
@@ -59,9 +59,9 @@
     </mailingList>
   </mailingLists>
   <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>
-    <url>http://svn.apache.org/viewcvs.cgi/maven/scm</url>
+    <connection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0</developerConnection>
+    <url>https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.0</url>
   </scm>
   <build>
     <pluginManagement>