[maven-release-plugin]  copy for tag maven-scm-1.1

git-svn-id: https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1@687981 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 261eeb9..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/NOTICE.txt b/NOTICE.txt
deleted file mode 100644
index d575c7a..0000000
--- a/NOTICE.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache Maven-SCM
-Copyright 2003-2006 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
\ No newline at end of file
diff --git a/maven-scm-api/pom.xml b/maven-scm-api/pom.xml
index f7f601d..1d04b0f 100644
--- a/maven-scm-api/pom.xml
+++ b/maven-scm-api/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,20 +20,23 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-api</artifactId>
+
   <name>Maven SCM API</name>
-  <version>1.1</version>
+  <description>The SCM API provides mechanisms to manage all SCM tools.</description>
+
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>3.8.2</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java b/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java
index 9ddd8e3..87a1414 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java
@@ -28,16 +28,21 @@
 {
     private String name;
 
+    /**
+     * @param name could be null
+     */
     public AbstractScmVersion( String name )
     {
         setName( name );
     }
 
+    /** {@inheritDoc} */
     public String getName()
     {
         return name;
     }
 
+    /** {@inheritDoc} */
     public void setName( String name )
     {
         if ( name != null )
@@ -47,9 +52,7 @@
         this.name = name;
     }
 
-    /**
-     * @return the version name
-     */
+    /** {@inheritDoc} */
     public String toString()
     {
         return getName();
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ChangeSet.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ChangeSet.java
index e71766e..b8a4c2b 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ChangeSet.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ChangeSet.java
@@ -374,9 +374,7 @@
         return TIME_FORMAT.format( getDate() );
     }
 
-    /**
-     * @return Returns string representation of the changeset
-     */
+    /** {@inheritDoc} */
     public String toString()
     {
         String result = author + "\n" + date + "\n";
@@ -442,9 +440,7 @@
         return buffer.toString();
     }
 
-    /**
-     * @see java.lang.Object#equals(java.lang.Object)
-     */
+    /** {@inheritDoc} */
     public boolean equals( Object obj )
     {
         if ( obj instanceof ChangeSet )
@@ -460,6 +456,18 @@
         return false;
     }
 
+    /** {@inheritDoc} */
+    public int hashCode()
+    {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ( ( author == null ) ? 0 : author.hashCode() );
+        result = prime * result + ( ( comment == null ) ? 0 : comment.hashCode() );
+        result = prime * result + ( ( date == null ) ? 0 : date.hashCode() );
+        result = prime * result + ( ( files == null ) ? 0 : files.hashCode() );
+        return result;
+    }
+
     /**
      * remove a <code>]]></code> from comments (replace it with <code>] ] ></code>).
      *
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
index 55c1ef7..4887ea5 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
@@ -25,41 +25,41 @@
  */
 public class CommandParameter
 {
-    public final static CommandParameter BINARY = new CommandParameter( "binary" );
+    public static final CommandParameter BINARY = new CommandParameter( "binary" );
 
-    public final static CommandParameter RECURSIVE = new CommandParameter( "recursive" );
+    public static final CommandParameter RECURSIVE = new CommandParameter( "recursive" );
 
-    public final static CommandParameter MESSAGE = new CommandParameter( "message" );
+    public static final CommandParameter MESSAGE = new CommandParameter( "message" );
 
-    public final static CommandParameter BRANCH_NAME = new CommandParameter( "branchName" );
+    public static final CommandParameter BRANCH_NAME = new CommandParameter( "branchName" );
 
-    public final static CommandParameter START_DATE = new CommandParameter( "startDate" );
+    public static final CommandParameter START_DATE = new CommandParameter( "startDate" );
 
-    public final static CommandParameter END_DATE = new CommandParameter( "endDate" );
+    public static final CommandParameter END_DATE = new CommandParameter( "endDate" );
 
-    public final static CommandParameter NUM_DAYS = new CommandParameter( "numDays" );
+    public static final CommandParameter NUM_DAYS = new CommandParameter( "numDays" );
 
-    public final static CommandParameter BRANCH = new CommandParameter( "branch" );
+    public static final CommandParameter BRANCH = new CommandParameter( "branch" );
 
-    public final static CommandParameter START_SCM_VERSION = new CommandParameter( "startScmVersion" );
+    public static final CommandParameter START_SCM_VERSION = new CommandParameter( "startScmVersion" );
 
-    public final static CommandParameter END_SCM_VERSION = new CommandParameter( "endScmVersion" );
+    public static final CommandParameter END_SCM_VERSION = new CommandParameter( "endScmVersion" );
 
-    public final static CommandParameter CHANGELOG_DATE_PATTERN = new CommandParameter( "changelogDatePattern" );
+    public static final CommandParameter CHANGELOG_DATE_PATTERN = new CommandParameter( "changelogDatePattern" );
 
-    public final static CommandParameter SCM_VERSION = new CommandParameter( "scmVersion" );
+    public static final CommandParameter SCM_VERSION = new CommandParameter( "scmVersion" );
 
-    public final static CommandParameter TAG_NAME = new CommandParameter( "tagName" );
+    public static final CommandParameter TAG_NAME = new CommandParameter( "tagName" );
 
-    public final static CommandParameter FILE = new CommandParameter( "file" );
+    public static final CommandParameter FILE = new CommandParameter( "file" );
 
-    public final static CommandParameter FILES = new CommandParameter( "files" );
+    public static final CommandParameter FILES = new CommandParameter( "files" );
 
-    public final static CommandParameter OUTPUT_FILE = new CommandParameter( "outputFile" );
+    public static final CommandParameter OUTPUT_FILE = new CommandParameter( "outputFile" );
 
-    public final static CommandParameter OUTPUT_DIRECTORY = new CommandParameter( "outputDirectory" );
+    public static final CommandParameter OUTPUT_DIRECTORY = new CommandParameter( "outputDirectory" );
 
-    public final static CommandParameter RUN_CHANGELOG_WITH_UPDATE =
+    public static final CommandParameter RUN_CHANGELOG_WITH_UPDATE =
         new CommandParameter( "run_changelog_with_update" );
 
     /**
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
index 2a16e5e..f715ddd 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
@@ -112,6 +112,7 @@
      *
      * @param parameter The parameter
      * @return The parameter value as a int
+     * @param defaultValue The defaultValue
      * @throws ScmException if the value is in the wrong type
      */
     public int getInt( CommandParameter parameter, int defaultValue )
@@ -161,6 +162,7 @@
      * Return the parameter value as String or the default value if it doesn't exist.
      *
      * @param parameter The parameter
+     * @param defaultValue The defaultValue
      * @return The parameter value as a Date
      * @throws ScmException if the value is in the wrong type
      */
@@ -248,12 +250,24 @@
     // File[]
     // ----------------------------------------------------------------------
 
+    /**
+     * @param parameter not null
+     * @return an array of files
+     * @throws ScmException if any
+     */
     public File[] getFileArray( CommandParameter parameter )
         throws ScmException
     {
         return (File[]) getObject( File[].class, parameter );
     }
 
+    /**
+     *
+     * @param parameter not null
+     * @param defaultValue could be null
+     * @return an array of files
+     * @throws ScmException if any
+     */
     public File[] getFileArray( CommandParameter parameter, File[] defaultValue )
         throws ScmException
     {
@@ -290,6 +304,7 @@
      *
      * @param clazz     The type of the parameter value
      * @param parameter The parameter
+     * @param defaultValue The defaultValue
      * @return The parameter value
      * @throws ScmException if the defaultValue is in the wrong type
      */
@@ -305,8 +320,8 @@
 
         if ( clazz != null && !clazz.isAssignableFrom( object.getClass() ) )
         {
-            throw new ScmException( "Wrong parameter type for '" + parameter.getName() + ". " + "Expected: " +
-                clazz.getName() + ", got: " + object.getClass().getName() );
+            throw new ScmException( "Wrong parameter type for '" + parameter.getName() + ". " + "Expected: "
+                + clazz.getName() + ", got: " + object.getClass().getName() );
         }
 
         return object;
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/NoSuchCommandScmException.java b/maven-scm-api/src/main/java/org/apache/maven/scm/NoSuchCommandScmException.java
index b1f42e7..4906be3 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/NoSuchCommandScmException.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/NoSuchCommandScmException.java
@@ -26,6 +26,9 @@
 public class NoSuchCommandScmException
     extends ScmException
 {
+
+    static final long serialVersionUID = 5789657554664703221L;
+
     private String commandName;
 
     public NoSuchCommandScmException( String commandName )
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java
index b50d93f..fea0dc5 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java
@@ -26,11 +26,15 @@
 public class ScmBranch
     extends AbstractScmVersion
 {
+    /** {@inheritDoc} */
     public String getType()
     {
         return "Branch";
     }
 
+    /**
+     * @param name the branch name
+     */
     public ScmBranch( String name )
     {
         super( name );
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmException.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmException.java
index b3362ed..e95aafd 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmException.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmException.java
@@ -26,8 +26,10 @@
 public class ScmException
     extends Exception
 {
+    static final long serialVersionUID = 5041965569154385323L;
+
     /**
-     * @param message
+     * @param message the message could be null
      */
     public ScmException( String message )
     {
@@ -35,8 +37,8 @@
     }
 
     /**
-     * @param message
-     * @param cause
+     * @param message the message could be null
+     * @param cause the cause could be null
      */
     public ScmException( String message, Throwable cause )
     {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFile.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFile.java
index 55ec2e3..0f48892 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFile.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFile.java
@@ -61,6 +61,7 @@
     // Comparable Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public int compareTo( Object other )
     {
         return ( (ScmFile) other ).getPath().compareTo( path );
@@ -70,6 +71,7 @@
     // Object overrides
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public boolean equals( Object other )
     {
         if ( !( other instanceof ScmFile ) )
@@ -80,11 +82,13 @@
         return ( (ScmFile) other ).getPath().equals( path );
     }
 
+    /** {@inheritDoc} */
     public int hashCode()
     {
         return path.hashCode();
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return "[" + path + ":" + status + "]";
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java
index 3f629b4..6f1190b 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java
@@ -74,7 +74,7 @@
      * @param includes Ant pattern for files to include
      * @param excludes Ant pattern for files to exclude,
      *                 if null DEFAULT_EXCLUDES is used, else DEFAULT_EXCLUDES is added.
-     * @throws IOException
+     * @throws IOException if any
      */
     public ScmFileSet( File basedir, String includes, String excludes )
         throws IOException
@@ -98,7 +98,7 @@
      *
      * @param basedir  directory files are relative to
      * @param includes Ant pattern for files to include
-     * @throws IOException
+     * @throws IOException if any
      * @since 1.0
      */
     public ScmFileSet( File basedir, String includes )
@@ -172,6 +172,7 @@
         return this.files;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return "basedir = " + basedir + "; files = " + files;
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileStatus.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileStatus.java
index 12842a5..4deac6b 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileStatus.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileStatus.java
@@ -37,14 +37,14 @@
     /**
      * File is added to the working tree and does not yet exist in the repository
      */
-    public final static ScmFileStatus ADDED = new ScmFileStatus( "added" );
+    public static final ScmFileStatus ADDED = new ScmFileStatus( "added" );
 
     /**
      * File is removed from the working tree thus not revisioned anymore.<br>
      * The file is still present in the repository.<br>
      * The file could be deleted from the filesystem depending on the provider.
      */
-    public final static ScmFileStatus DELETED = new ScmFileStatus( "deleted" );
+    public static final ScmFileStatus DELETED = new ScmFileStatus( "deleted" );
 
     /**
      * The file has been modified in the working tree.
@@ -59,29 +59,29 @@
     /**
      * File from working tree is checked into the repository
      */
-    public final static ScmFileStatus CHECKED_IN = new ScmFileStatus( "checked-in" );
+    public static final ScmFileStatus CHECKED_IN = new ScmFileStatus( "checked-in" );
 
     /**
      * File is checked out from the repository and into the working tree
      */
-    public final static ScmFileStatus CHECKED_OUT = new ScmFileStatus( "checked-out" );
+    public static final ScmFileStatus CHECKED_OUT = new ScmFileStatus( "checked-out" );
 
     /**
      * The file in the working tree has differences to the one in repository that
      * conflicts ie. it cannot automatically be merged.
      */
-    public final static ScmFileStatus CONFLICT = new ScmFileStatus( "conflict" );
+    public static final ScmFileStatus CONFLICT = new ScmFileStatus( "conflict" );
 
     /**
      * The file in the working tree has been updated with changes from the repository.
      */
-    public final static ScmFileStatus PATCHED = new ScmFileStatus( "patched" );
+    public static final ScmFileStatus PATCHED = new ScmFileStatus( "patched" );
 
     /**
      * The file is added, removed or updated from the repository, thus its
      * up-to-date with the version in the repository. See also isUpdate()
      */
-    public final static ScmFileStatus UPDATED = new ScmFileStatus( "updated" );
+    public static final ScmFileStatus UPDATED = new ScmFileStatus( "updated" );
 
     /**
      * The file is part of a tag.
@@ -108,6 +108,7 @@
         this.name = name;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return name;
@@ -148,6 +149,8 @@
      * that the working tree has changed.<br>
      * An update indicates the opposite, that the repository was changed compared to
      * the working tree and that it is now synchronized unless there are conflicts.
+     *
+     * @return true if the status is conflict, updated or patched.
      */
     public boolean isUpdate()
     {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java
index 06efd1f..5ec9aeb 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java
@@ -38,6 +38,8 @@
      * <p/>
      * Typically used from derived classes when wrapping a ScmResult
      * into a specific type eg. AddScmResult
+     *
+     * @param scmResult not null
      */
     public ScmResult( ScmResult scmResult )
     {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java
index b429105..1d14aea 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java
@@ -26,6 +26,7 @@
 public class ScmRevision
     extends AbstractScmVersion
 {
+    /** {@inheritDoc} */
     public String getType()
     {
         return "Revision";
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
index 6108e0a..10e5078 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
@@ -26,11 +26,15 @@
 public class ScmTag
     extends ScmBranch
 {
+    /** {@inheritDoc} */
     public String getType()
     {
         return "Tag";
     }
 
+    /**
+     * @param name not null
+     */
     public ScmTag( String name )
     {
         super( name );
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
index 947f0dd..47cb453 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
@@ -25,9 +25,18 @@
  */
 public interface ScmVersion
 {
+    /**
+     * @return the Version ttype like branch
+     */
     String getType();
 
+    /**
+     * @return the Version name
+     */
     String getName();
 
+    /**
+     * @param name new Version name could be null
+     */
     void setName( String name );
 }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java
index b3936ad..62d0617 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java
@@ -40,6 +40,7 @@
                                                  CommandParameters parameters )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public final ScmResult execute( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -63,17 +64,13 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.command.Command#getLogger()
-     */
+    /** {@inheritDoc} */
     public final ScmLogger getLogger()
     {
         return logger;
     }
 
-    /**
-     * @see org.apache.maven.scm.command.Command#setLogger(org.apache.maven.scm.log.ScmLogger)
-     */
+    /** {@inheritDoc} */
     public final void setLogger( ScmLogger logger )
     {
         this.logger = logger;
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java
index dd8f3c0..ede050b 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java
@@ -33,12 +33,26 @@
  */
 public interface Command
 {
+    /** Plexus component key */
     String ROLE = Command.class.getName();
 
+    /**
+     * @param repository not null
+     * @param fileSet not null
+     * @param parameters could be null
+     * @return the result object
+     * @throws ScmException if any
+     */
     ScmResult execute( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException;
 
+    /**
+     * @param logger not null
+     */
     void setLogger( ScmLogger logger );
 
+    /**
+     * @return the current logger
+     */
     ScmLogger getLogger();
 }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/add/AbstractAddCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/add/AbstractAddCommand.java
index 9798bc8..d633829 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/add/AbstractAddCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/add/AbstractAddCommand.java
@@ -38,6 +38,7 @@
                                                     String message, boolean binary )
         throws ScmException;
 
+    /** {@inheritDoc} */
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                         CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/branch/AbstractBranchCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/branch/AbstractBranchCommand.java
index c8fdf3c..1646c00 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/branch/AbstractBranchCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/branch/AbstractBranchCommand.java
@@ -39,6 +39,7 @@
                                                        String branchName, String message )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
index 384e715..c302d38 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
@@ -53,6 +53,7 @@
         throw new ScmException( "Unsupported method for this provider." );
     }
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -89,9 +90,10 @@
 
             if ( numDays > 0 )
             {
-                startDate = new Date( System.currentTimeMillis() - (long) numDays * 24 * 60 * 60 * 1000 );
+                int day = 24 * 60 * 60 * 1000;
+                startDate = new Date( System.currentTimeMillis() - (long) numDays * day );
 
-                endDate = new Date( System.currentTimeMillis() + (long) 1 * 24 * 60 * 60 * 1000 );
+                endDate = new Date( System.currentTimeMillis() + (long) day );
             }
             else if ( endDate == null )
             {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java
index d3de733..b222ec0 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java
@@ -36,7 +36,7 @@
 public abstract class AbstractCheckInCommand
     extends AbstractCommand
 {
-    public final static String NAME = "check-in";
+    public static final String NAME = "check-in";
 
     protected abstract CheckInScmResult executeCheckInCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                                String message, ScmVersion scmVersion )
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java
index eef2b2c..87d7c88 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java
@@ -40,6 +40,7 @@
                                                                  ScmVersion scmVersion )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java
index 1465300..07db3f9 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java
@@ -45,6 +45,7 @@
                                                          ScmVersion startRevision, ScmVersion endRevision )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/AbstractEditCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/AbstractEditCommand.java
index 3c732a8..ccfcbeb 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/AbstractEditCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/AbstractEditCommand.java
@@ -27,11 +27,12 @@
 import org.apache.maven.scm.provider.ScmProviderRepository;
 
 /**
- *
+ * @version $Id$
  */
 public abstract class AbstractEditCommand
     extends AbstractCommand
 {
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/EditScmResult.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/EditScmResult.java
index c2c9046..b4a752a 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/EditScmResult.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/edit/EditScmResult.java
@@ -23,6 +23,9 @@
 
 import java.util.List;
 
+/**
+ * @version $Id$
+ */
 public class EditScmResult
     extends ScmResult
 {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java
index 910c20d..02ab978 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java
@@ -39,6 +39,7 @@
                                                              ScmVersion scmVersion, String outputDirectory )
         throws ScmException;
 
+    /** {@inheritDoc} */
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                         CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
index b6ff0ba..078c7db 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
@@ -48,6 +48,7 @@
                                                          boolean recursive, ScmVersion scmVersion )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java
index 2857f76..1f16dba 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/ListScmResult.java
@@ -20,13 +20,13 @@
  */
 
 import org.apache.maven.scm.ScmResult;
-import org.apache.maven.scm.provider.ScmProvider;
 
 import java.util.ArrayList;
 import java.util.List;
 
 /**
- * Result of {@link ScmProvider#list} operation
+ * Result of {@link org.apache.maven.scm.provider.ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,
+ * org.apache.maven.scm.ScmFileSet, boolean, org.apache.maven.scm.ScmVersion)} operation
  *
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @version $Id$
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/login/AbstractLoginCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/login/AbstractLoginCommand.java
index e448d74..e17cee4 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/login/AbstractLoginCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/login/AbstractLoginCommand.java
@@ -37,9 +37,7 @@
                                                         CommandParameters parameters )
         throws ScmException;
 
-    /**
-     * @see org.apache.maven.scm.command.AbstractCommand#executeCommand(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                         CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/remove/AbstractRemoveCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/remove/AbstractRemoveCommand.java
index 69d7b59..21243bb 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/remove/AbstractRemoveCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/remove/AbstractRemoveCommand.java
@@ -39,6 +39,7 @@
                                                        String message )
         throws ScmException;
 
+    /** {@inheritDoc} */
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                         CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/status/AbstractStatusCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/status/AbstractStatusCommand.java
index cd13b9a..f8b6bb4 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/status/AbstractStatusCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/status/AbstractStatusCommand.java
@@ -36,6 +36,7 @@
     protected abstract StatusScmResult executeStatusCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
index 5867159..b155162 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
@@ -39,13 +39,14 @@
                                                     String tagName, String message )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
     {
         String tagName = parameters.getString( CommandParameter.TAG_NAME );
 
-        String message = parameters.getString( CommandParameter.MESSAGE, "[maven-scm] copy for tag " + tagName);
+        String message = parameters.getString( CommandParameter.MESSAGE, "[maven-scm] copy for tag " + tagName );
 
         return executeTagCommand( repository, fileSet, tagName, message );
     }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/AbstractUnEditCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/AbstractUnEditCommand.java
index a2e1698..7d360bb 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/AbstractUnEditCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/AbstractUnEditCommand.java
@@ -27,11 +27,12 @@
 import org.apache.maven.scm.provider.ScmProviderRepository;
 
 /**
- *
+ * @version $Id$
  */
 public abstract class AbstractUnEditCommand
     extends AbstractCommand
 {
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/UnEditScmResult.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/UnEditScmResult.java
index 798ed11..6369405 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/UnEditScmResult.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/unedit/UnEditScmResult.java
@@ -23,6 +23,9 @@
 
 import java.util.List;
 
+/**
+ * @version $Id$
+ */
 public class UnEditScmResult
     extends ScmResult
 {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java
index 86ec5af..d86e9df 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java
@@ -50,6 +50,7 @@
                                                              ScmVersion scmVersion )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java b/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java
index a6288b1..add126b 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java
@@ -27,132 +27,99 @@
     implements ScmLogger
 {
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isDebugEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isDebugEnabled()
     {
         return false;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void debug( String content )
     {
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( String content, Throwable error )
     {
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( Throwable error )
     {
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isInfoEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isInfoEnabled()
     {
         return true;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void info( String content )
     {
         System.out.println( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( String content, Throwable error )
     {
         System.out.println( content );
         error.printStackTrace();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( Throwable error )
     {
         error.printStackTrace();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isWarnEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isWarnEnabled()
     {
         return true;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void warn( String content )
     {
         System.out.println( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( String content, Throwable error )
     {
         System.out.println( content );
         error.printStackTrace();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( Throwable error )
     {
         error.printStackTrace();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isErrorEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isErrorEnabled()
     {
         return true;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void error( String content )
     {
         System.out.print( "[ERROR] " + content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( String content, Throwable error )
     {
         System.out.println( "[ERROR] " + content );
         error.printStackTrace();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( Throwable error )
     {
         error.printStackTrace();
     }
-
 }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java b/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java
index 66c4100..d63a566 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java
@@ -37,9 +37,7 @@
         listeners.add( logger );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( String content, Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -50,9 +48,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void debug( String content )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -63,9 +59,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -76,9 +70,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( String content, Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -89,9 +81,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void error( String content )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -102,9 +92,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -115,9 +103,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( String content, Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -128,9 +114,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void info( String content )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -141,9 +125,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -154,9 +136,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isDebugEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isDebugEnabled()
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -172,9 +152,7 @@
         return false;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isErrorEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isErrorEnabled()
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -190,9 +168,7 @@
         return false;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isInfoEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isInfoEnabled()
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -208,9 +184,7 @@
         return false;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isWarnEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isWarnEnabled()
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -226,9 +200,7 @@
         return false;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( String content, Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -239,9 +211,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void warn( String content )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -252,9 +222,7 @@
         }
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( Throwable error )
     {
         for ( Iterator i = listeners.iterator(); i.hasNext(); )
@@ -264,5 +232,4 @@
             logger.warn( error );
         }
     }
-
 }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
index d31bfc8..c73e3c9 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
@@ -99,6 +99,7 @@
     // ScmManager Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public ScmProvider getProviderByUrl( String scmUrl )
         throws ScmRepositoryException, NoSuchScmProviderException
     {
@@ -112,11 +113,13 @@
         return getProviderByType( providerType );
     }
 
+    /** {@inheritDoc} */
     public void setScmProviderImplementation( String providerType, String providerImplementation )
     {
         userProviderTypes.put( providerType, providerImplementation );
     }
 
+    /** {@inheritDoc} */
     public ScmProvider getProviderByType( String providerType )
         throws NoSuchScmProviderException
     {
@@ -158,6 +161,7 @@
         return scmProvider;
     }
 
+    /** {@inheritDoc} */
     public ScmProvider getProviderByRepository( ScmRepository repository )
         throws NoSuchScmProviderException
     {
@@ -168,6 +172,7 @@
     // Repository
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public ScmRepository makeScmRepository( String scmUrl )
         throws ScmRepositoryException, NoSuchScmProviderException
     {
@@ -246,6 +251,7 @@
         return scmUrl;
     }
 
+    /** {@inheritDoc} */
     public ScmRepository makeProviderScmRepository( String providerType, File path )
         throws ScmRepositoryException, UnknownRepositoryStructure, NoSuchScmProviderException
     {
@@ -261,6 +267,7 @@
         return new ScmRepository( providerType, providerRepository );
     }
 
+    /** {@inheritDoc} */
     public List validateScmRepository( String scmUrl )
     {
         List messages = new ArrayList();
@@ -297,45 +304,35 @@
         return messages;
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).add( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).add( repository, fileSet, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).branch( repository, fileSet, branchName );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).branch( repository, fileSet, branchName, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch )
         throws ScmException
@@ -344,9 +341,7 @@
                                                                      branch );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch, String datePattern )
         throws ScmException
@@ -355,9 +350,7 @@
                                                                      branch, datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                          ScmVersion endVersion )
         throws ScmException
@@ -365,9 +358,7 @@
         return this.getProviderByRepository( repository ).changeLog( repository, fileSet, startVersion, endVersion );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
                                          ScmVersion endRevision, String datePattern )
         throws ScmException
@@ -376,54 +367,42 @@
                                                                      datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkIn( repository, fileSet, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkIn( repository, fileSet, revision, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, boolean recursive )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet, recursive );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                        boolean recursive )
         throws ScmException
@@ -431,9 +410,7 @@
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet, version, recursive );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                ScmVersion endVersion )
         throws ScmException
@@ -441,36 +418,28 @@
         return this.getProviderByRepository( repository ).diff( repository, fileSet, startVersion, endVersion );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).edit( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).export( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).export( repository, fileSet, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String outputDirectory )
         throws ScmException
     {
@@ -478,9 +447,7 @@
                                                                   outputDirectory );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    String outputDirectory )
         throws ScmException
@@ -488,90 +455,70 @@
         return this.getProviderByRepository( repository ).export( repository, fileSet, version, outputDirectory );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).list( repository, fileSet, recursive, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).remove( repository, fileSet, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).status( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).tag( repository, fileSet, tagName );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).tag( repository, fileSet, tagName, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).unedit( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, runChangelog );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    boolean runChangelog )
         throws ScmException
@@ -579,18 +526,14 @@
         return this.getProviderByRepository( repository ).update( repository, fileSet, version, runChangelog );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String datePattern )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, (ScmVersion) null, datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    String datePattern )
         throws ScmException
@@ -598,27 +541,21 @@
         return this.getProviderByRepository( repository ).update( repository, fileSet, version, datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, Date lastUpdate )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, (ScmVersion) null, lastUpdate );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, version, lastUpdate );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, Date lastUpdate, String datePattern )
         throws ScmException
     {
@@ -626,9 +563,7 @@
                                                                   datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
                                    String datePattern )
         throws ScmException
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/BasicScmManager.java b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/BasicScmManager.java
index aa5dd16..ecc4d3c 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/BasicScmManager.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/BasicScmManager.java
@@ -29,6 +29,7 @@
 public class BasicScmManager
     extends AbstractScmManager
 {
+    /** {@inheritDoc} */
     protected ScmLogger getScmLogger()
     {
         return new DefaultLog();
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java
index 52d7cad..35ef7a4 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java
@@ -29,6 +29,8 @@
 public class NoSuchScmProviderException
     extends ScmException
 {
+    static final long serialVersionUID = 4770645185214496323L;
+
     private String providerName;
 
     public NoSuchScmProviderException( String providerName )
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
index 77c7fe9..15c0e56 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java
@@ -113,7 +113,8 @@
      * Set the provider implementation
      *
      * @param providerType           The provider type, eg. <code>cvs</code>
-     * @param providerImplementation The provider implementation (the role-hint of the provider), eg. <code>cvs</code>, <code>cvs_native</code>
+     * @param providerImplementation The provider implementation (the role-hint of the provider),
+     * eg. <code>cvs</code>, <code>cvs_native</code>
      */
     void setScmProviderImplementation( String providerType, String providerImplementation );
 
@@ -136,7 +137,7 @@
      * @param fileSet    the files to be added
      * @param message    a string that is a comment on the new added file
      * @return an {@link AddScmResult} that contains the files that have been added
-     * @throws ScmException
+     * @throws ScmException if any
      */
     AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException;
@@ -149,7 +150,7 @@
      *                   from the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @param branchName the branch name to apply to the files
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
         throws ScmException;
@@ -163,7 +164,7 @@
      * @param branchName the branch name to apply to the files
      * @param message    the commit message used for the tag creation
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
         throws ScmException;
@@ -180,7 +181,7 @@
      * @param numDays    the number days before the current time if startdate and enddate are null
      * @param branch     the branch/tag
      * @return The SCM result of the changelog command
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                   int numDays, ScmBranch branch )
@@ -199,7 +200,7 @@
      * @param branch      the branch/tag
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return The SCM result of the changelog command
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                   int numDays, ScmBranch branch, String datePattern )
@@ -215,7 +216,7 @@
      * @param startVersion the start branch/tag/revision
      * @param endVersion   the end branch/tag/revision
      * @return The SCM result of the changelog command
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                   ScmVersion endVersion )
@@ -232,7 +233,7 @@
      * @param endRevision   the end revision
      * @param datePattern   the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
                                   ScmVersion endRevision, String datePattern )
@@ -250,7 +251,7 @@
      * @param fileSet    the files to check in (sometimes called commit)
      * @param message    a string that is a comment on the changes that where done
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException;
@@ -268,7 +269,7 @@
      * @param revision   branch/tag/revision
      * @param message    a string that is a comment on the changes that where done
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
         throws ScmException;
@@ -279,7 +280,7 @@
      * @param repository the source control system
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -291,7 +292,7 @@
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param version    get the version defined by the revision, branch or tag
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException;
@@ -303,7 +304,7 @@
      * @param scmFileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param recursive     whether to check out recursively
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, boolean recursive )
         throws ScmException;
@@ -316,7 +317,7 @@
      * @param version       get the version defined by the revision, branch or tag
      * @param recursive     whether to check out recursively
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version,
                                 boolean recursive )
@@ -330,7 +331,7 @@
      * @param startVersion  the start branch/tag/revision
      * @param endVersion    the end branch/tag/revision
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     DiffScmResult diff( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion,
                         ScmVersion endVersion )
@@ -344,7 +345,7 @@
      * @param repository the source control system
      * @param fileSet    the files to make editable
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -355,7 +356,7 @@
      * @param repository the source control system
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -367,7 +368,7 @@
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param version    get the version defined by the branch/tag/revision
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException;
@@ -379,7 +380,7 @@
      * @param fileSet         the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param outputDirectory the directory where the export will be stored
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String outputDirectory )
         throws ScmException;
@@ -392,7 +393,7 @@
      * @param version         get the version defined by the branch/tag/revision
      * @param outputDirectory the directory where the export will be stored
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String outputDirectory )
         throws ScmException;
@@ -416,7 +417,7 @@
      * @param fileSet    the files to be removed
      * @param message
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException;
@@ -429,7 +430,7 @@
      * @param fileSet    the files to know the status about. Implementations can also give the changes
      *                   from the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -442,7 +443,7 @@
      *                   from the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @param tagName    the tag name to apply to the files
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName )
         throws ScmException;
@@ -456,19 +457,20 @@
      * @param tagName    the tag name to apply to the files
      * @param message    the commit message used for the tag creation
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, String message )
         throws ScmException;
 
     /**
-     * Make a file no longer editable. This is the conterpart of {@link #edit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)}.
+     * Make a file no longer editable. This is the conterpart of
+     * {@link #edit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)}.
      * It makes the file read-only again.
      *
      * @param repository the source control system
      * @param fileSet    the files to make uneditable
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -479,7 +481,7 @@
      * @param repository the source control system
      * @param fileSet    location of your local copy
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -491,7 +493,7 @@
      * @param fileSet    location of your local copy
      * @param version    use the version defined by the branch/tag/revision
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException;
@@ -503,7 +505,7 @@
      * @param fileSet      location of your local copy
      * @param runChangelog Run the changelog command after the update
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
         throws ScmException;
@@ -516,7 +518,7 @@
      * @param version      use the version defined by the branch/tag/revision
      * @param runChangelog Run the changelog command after the update
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, boolean runChangelog )
         throws ScmException;
@@ -528,7 +530,7 @@
      * @param fileSet     location of your local copy
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String datePattern )
         throws ScmException;
@@ -541,7 +543,7 @@
      * @param version     use the version defined by the branch/tag/revision
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String datePattern )
         throws ScmException;
@@ -553,7 +555,7 @@
      * @param fileSet    location of your local copy
      * @param lastUpdate
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, Date lastUpdate )
         throws ScmException;
@@ -566,7 +568,7 @@
      * @param version    use the version defined by the branch/tag/revision
      * @param lastUpdate
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
         throws ScmException;
@@ -579,7 +581,7 @@
      * @param lastUpdate  Date of last update
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, Date lastUpdate, String datePattern )
         throws ScmException;
@@ -593,7 +595,7 @@
      * @param lastUpdate  Date of last update
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
                             String datePattern )
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
index 7cdbbaf..9b16cbd 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
@@ -68,29 +68,27 @@
     //
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return null;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#sanitizeTagName(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public String sanitizeTagName( String tag )
     {
         /* by default, we assume all tags are valid. */
         return tag;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#validateTagName(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public boolean validateTagName( String tag )
     {
         /* by default, we assume all tags are valid. */
         return true;
     }
 
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
         List messages = new ArrayList();
@@ -107,6 +105,7 @@
         return messages;
     }
 
+    /** {@inheritDoc} */
     public boolean requiresEditMode()
     {
         return false;
@@ -116,19 +115,14 @@
     // Scm Implementation
     // ----------------------------------------------------------------------
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#add(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return add( repository, fileSet, (String) null );
     }
 
-
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#add(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,String)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
@@ -151,18 +145,14 @@
         throw new NoSuchCommandScmException( "add" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#branch(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
         throws ScmException
     {
         return branch( repository, fileSet, branchName, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#branch(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
         throws ScmException
     {
@@ -187,8 +177,7 @@
         throw new NoSuchCommandScmException( "branch" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
@@ -199,7 +188,7 @@
     }
 
     /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,java.lang.String,java.lang.String)
+     * {@inheritDoc}
      * @deprecated
      */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
@@ -216,9 +205,7 @@
 
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,ScmBranch)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch )
         throws ScmException
@@ -226,9 +213,7 @@
         return changeLog( repository, fileSet, startDate, endDate, numDays, branch, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,ScmBranch,String)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch, String datePattern )
         throws ScmException
@@ -250,8 +235,8 @@
         return changelog( repository.getProviderRepository(), fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+
+    /** {@inheritDoc}
      * @deprecated
      */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag )
@@ -260,8 +245,7 @@
         return changeLog( repository, fileSet, startTag, endTag, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag,
@@ -284,9 +268,7 @@
         return changeLog( repository, fileSet, startRevision, endRevision, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,ScmVersion)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                          ScmVersion endVersion )
         throws ScmException
@@ -294,9 +276,7 @@
         return changeLog( repository, fileSet, startVersion, endVersion, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,ScmVersion,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                          ScmVersion endVersion, String datePattern )
         throws ScmException
@@ -321,8 +301,8 @@
         throw new NoSuchCommandScmException( "changelog" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+
+    /** {@inheritDoc}
      * @deprecated
      */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
@@ -338,18 +318,14 @@
         return checkIn( repository, fileSet, scmVersion, message );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return checkIn( repository, fileSet, (ScmVersion) null, message );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
                                      String message )
         throws ScmException
@@ -372,8 +348,8 @@
         throw new NoSuchCommandScmException( "checkin" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+
+    /** {@inheritDoc}
      * @deprecated
      */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag )
@@ -382,8 +358,7 @@
         return checkOut( repository, fileSet, tag, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,boolean)
+    /** {@inheritDoc}
      * @deprecated
      */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag, boolean recursive )
@@ -399,36 +374,28 @@
         return checkOut( repository, fileSet, scmVersion, recursive );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+     /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return checkOut( repository, fileSet, (ScmVersion) null, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion )
         throws ScmException
     {
         return checkOut( repository, fileSet, scmVersion, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, boolean recursive )
         throws ScmException
     {
         return checkOut( repository, fileSet, (ScmVersion) null, recursive );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,boolean)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
                                        boolean recursive )
         throws ScmException
@@ -451,8 +418,7 @@
         throw new NoSuchCommandScmException( "checkout" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision )
@@ -474,9 +440,7 @@
         return diff( repository, fileSet, startVersion, endVersion );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,ScmVersion)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                ScmVersion endVersion )
         throws ScmException
@@ -498,9 +462,7 @@
         throw new NoSuchCommandScmException( "diff" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#edit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+    /** {@inheritDoc} */
     public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -519,8 +481,7 @@
         return new EditScmResult( "", null, null, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag )
@@ -529,8 +490,7 @@
         return export( repository, fileSet, tag, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory )
@@ -546,27 +506,21 @@
         return export( repository, fileSet, scmVersion, outputDirectory );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return export( repository, fileSet, (ScmVersion) null, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion)
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion )
         throws ScmException
     {
         return export( repository, fileSet, scmVersion, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,String)
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
                                    String outputDirectory )
         throws ScmException
@@ -589,9 +543,7 @@
         throw new NoSuchCommandScmException( "export" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean,String)
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
         throws ScmException
     {
@@ -605,9 +557,7 @@
         return list( repository, fileSet, recursive, scmVersion );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean,org.apache.maven.scm.ScmVersion)
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion scmVersion )
         throws ScmException
     {
@@ -633,7 +583,7 @@
      * @param parameters
      * @return The list of files in the repository
      * @throws NoSuchCommandScmException unless overriden by subclass
-     * @throws ScmException
+     * @throws ScmException if any
      */
     protected ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
@@ -658,9 +608,7 @@
         return new LoginScmResult( null, null, null, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#remove(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
@@ -680,9 +628,7 @@
         throw new NoSuchCommandScmException( "remove" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#status(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -700,18 +646,14 @@
         throw new NoSuchCommandScmException( "status" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#tag(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName )
         throws ScmException
     {
         return tag( repository, fileSet, tagName, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#tag(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, String message )
         throws ScmException
     {
@@ -735,9 +677,7 @@
         throw new NoSuchCommandScmException( "tag" );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#unedit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+    /** {@inheritDoc} */
     public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -757,8 +697,7 @@
         return new UnEditScmResult( "", null, null, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag )
@@ -767,8 +706,7 @@
         return update( repository, fileSet, tag, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,boolean)
+    /** {@inheritDoc}
      * @deprecated
      */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog )
@@ -777,36 +715,28 @@
         return update( repository, fileSet, tag, "", runChangelog );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return update( repository, fileSet, (ScmVersion) null, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion )
         throws ScmException
     {
         return update( repository, fileSet, scmVersion, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
         throws ScmException
     {
         return update( repository, fileSet, (ScmVersion) null, "", runChangelog );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,boolean)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
                                    boolean runChangelog )
         throws ScmException
@@ -814,8 +744,7 @@
         return update( repository, fileSet, scmVersion, "", runChangelog );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern )
@@ -824,9 +753,7 @@
         return update( repository, fileSet, tag, datePattern, true );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
                                    String datePattern )
         throws ScmException
@@ -868,8 +795,7 @@
         return update( repository.getProviderRepository(), fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date)
+    /** {@inheritDoc}
      * @deprecated
      */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate )
@@ -878,18 +804,14 @@
         return update( repository, fileSet, tag, lastUpdate, null );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.util.Date)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
                                    Date lastUpdate )
         throws ScmException
     {
         return update( repository, fileSet, scmVersion, lastUpdate, null );
     }
-
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date,java.lang.String)
+    /** {@inheritDoc}
      * @deprecated
      */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
@@ -906,9 +828,7 @@
         return update( repository, fileSet, scmBranch, lastUpdate, datePattern );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.util.Date,java.lang.String)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, Date lastUpdate,
                                    String datePattern )
         throws ScmException
@@ -942,9 +862,7 @@
     //
     // ----------------------------------------------------------------------
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#addListener(org.apache.maven.scm.log.ScmLogger)
-     */
+    /** {@inheritDoc} */
     public void addListener( ScmLogger logger )
     {
         logDispatcher.addListener( logger );
@@ -955,9 +873,7 @@
         return logDispatcher;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.ScmProvider#makeProviderScmRepository(java.io.File)
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
index d23caf9..d3ff546 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
@@ -109,7 +109,7 @@
      * @param repository the source control system
      * @param fileSet    the files to be added
      * @return an {@link AddScmResult} that contains the files that have been added
-     * @throws ScmException
+     * @throws ScmException if any
      */
     AddScmResult add( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -121,7 +121,7 @@
      * @param fileSet    the files to be added
      * @param message    a string that is a comment on the new added file
      * @return an {@link AddScmResult} that contains the files that have been added
-     * @throws ScmException
+     * @throws ScmException if any
      */
     AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException;
@@ -134,7 +134,7 @@
      *                   from the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @param branchName the branch name to apply to the files
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
         throws ScmException;
@@ -148,7 +148,7 @@
      * @param branchName the branch name to apply to the files
      * @param message    the commit message used for the tag creation
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
         throws ScmException;
@@ -165,8 +165,9 @@
      * @param numDays    the number days before the current time if startdate and enddate are null
      * @param branch     the branch/tag name
      * @return The SCM result of the changelog command
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,org.apache.maven.scm.ScmBranch)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,org.apache.maven.scm.ScmBranch)}
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                   int numDays, String branch )
@@ -184,7 +185,7 @@
      * @param numDays    the number days before the current time if startdate and enddate are null
      * @param branch     the branch/tag
      * @return The SCM result of the changelog command
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                   int numDays, ScmBranch branch )
@@ -203,8 +204,9 @@
      * @param branch      the branch/tag name
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return The SCM result of the changelog command
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,org.apache.maven.scm.ScmBranch,String)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,org.apache.maven.scm.ScmBranch,String)}
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                   int numDays, String branch, String datePattern )
@@ -223,7 +225,7 @@
      * @param branch      the branch/tag
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return The SCM result of the changelog command
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                   int numDays, ScmBranch branch, String datePattern )
@@ -239,8 +241,9 @@
      * @param startTag   the start tag
      * @param endTag     the end tag
      * @return The SCM result of the changelog command
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,org.apache.maven.scm.ScmVersion)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,org.apache.maven.scm.ScmVersion)}
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag )
         throws ScmException;
@@ -255,7 +258,7 @@
      * @param startVersion the start branch/tag/revision
      * @param endVersion   the end branch/tag/revision
      * @return The SCM result of the changelog command
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                   ScmVersion endVersion )
@@ -272,8 +275,9 @@
      * @param endTag      the end tag
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,org.apache.maven.scm.ScmVersion,String)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,org.apache.maven.scm.ScmVersion,String)}
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag,
                                   String datePattern )
@@ -290,7 +294,7 @@
      * @param endRevision   the end revision
      * @param datePattern   the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
                                   ScmVersion endRevision, String datePattern )
@@ -309,8 +313,9 @@
      * @param tag        tag or revision
      * @param message    a string that is a comment on the changes that where done
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,String)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,String)}
      */
     CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
         throws ScmException;
@@ -327,7 +332,7 @@
      * @param fileSet    the files to check in (sometimes called commit)
      * @param message    a string that is a comment on the changes that where done
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException;
@@ -345,7 +350,7 @@
      * @param revision   branch/tag/revision
      * @param message    a string that is a comment on the changes that where done
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
         throws ScmException;
@@ -357,8 +362,9 @@
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param tag        get the version defined by the tag
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion)}
      */
     CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException;
@@ -369,7 +375,7 @@
      * @param repository the source control system
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -381,7 +387,7 @@
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param version    get the version defined by the revision, branch or tag
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException;
@@ -394,8 +400,9 @@
      * @param tag           tag or revision
      * @param recursive     whether to check out recursively
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,boolean)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,boolean)}
      */
     CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, String tag, boolean recursive )
         throws ScmException;
@@ -407,7 +414,7 @@
      * @param scmFileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param recursive     whether to check out recursively
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, boolean recursive )
         throws ScmException;
@@ -420,7 +427,7 @@
      * @param version       get the version defined by the revision, branch or tag
      * @param recursive     whether to check out recursively
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version,
                                 boolean recursive )
@@ -434,8 +441,9 @@
      * @param startRevision the start revision
      * @param endRevision   the end revision
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,org.apache.maven.scm.ScmVersion)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,org.apache.maven.scm.ScmVersion)}
      */
     DiffScmResult diff( ScmRepository scmRepository, ScmFileSet scmFileSet, String startRevision, String endRevision )
         throws ScmException;
@@ -448,7 +456,7 @@
      * @param startVersion  the start branch/tag/revision
      * @param endVersion    the end branch/tag/revision
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     DiffScmResult diff( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion,
                         ScmVersion endVersion )
@@ -461,8 +469,9 @@
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param tag        get the version defined by the tag
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion)}
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException;
@@ -473,7 +482,7 @@
      * @param repository the source control system
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -485,7 +494,7 @@
      * @param fileSet    the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} location
      * @param version    get the version defined by the branch/tag/revision
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException;
@@ -498,8 +507,9 @@
      * @param tag             get the version defined by the tag
      * @param outputDirectory the directory where the export will be stored
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,String)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,String)}
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory )
         throws ScmException;
@@ -512,7 +522,7 @@
      * @param version         get the version defined by the branch/tag/revision
      * @param outputDirectory the directory where the export will be stored
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String outputDirectory )
         throws ScmException;
@@ -524,7 +534,7 @@
      * @param fileSet    the files to be removed
      * @param message
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException;
@@ -537,7 +547,7 @@
      * @param fileSet    the files to know the status about. Implementations can also give the changes
      *                   from the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -550,7 +560,7 @@
      *                   from the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} downwards.
      * @param tagName    the tag name to apply to the files
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName )
         throws ScmException;
@@ -564,7 +574,7 @@
      * @param tagName    the tag name to apply to the files
      * @param message    the commit message used for the tag creation
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, String message )
         throws ScmException;
@@ -575,7 +585,7 @@
      * @param repository the source control system
      * @param fileSet    location of your local copy
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -587,8 +597,9 @@
      * @param fileSet    location of your local copy
      * @param tag        use the version defined by the tag
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion)}
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException;
@@ -600,7 +611,7 @@
      * @param fileSet    location of your local copy
      * @param version    use the version defined by the branch/tag/revision
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException;
@@ -613,8 +624,9 @@
      * @param tag          use the version defined by the tag
      * @param runChangelog Run the changelog command after the update
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,boolean)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,boolean)}
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog )
         throws ScmException;
@@ -626,7 +638,7 @@
      * @param fileSet      location of your local copy
      * @param runChangelog Run the changelog command after the update
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
         throws ScmException;
@@ -639,7 +651,7 @@
      * @param version      use the version defined by the branch/tag/revision
      * @param runChangelog Run the changelog command after the update
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, boolean runChangelog )
         throws ScmException;
@@ -652,8 +664,9 @@
      * @param tag         use the version defined by the tag
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,String)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,String)}
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern )
         throws ScmException;
@@ -666,7 +679,7 @@
      * @param version     use the version defined by the branch/tag/revision
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String datePattern )
         throws ScmException;
@@ -679,8 +692,9 @@
      * @param tag        use the version defined by the tag
      * @param lastUpdate
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,java.util.Date)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,java.util.Date)}
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate )
         throws ScmException;
@@ -693,7 +707,7 @@
      * @param version    use the version defined by the branch/tag/revision
      * @param lastUpdate
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
         throws ScmException;
@@ -707,8 +721,9 @@
      * @param lastUpdate  Date of last update
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
-     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,java.util.Date,String)}
+     * @throws ScmException if any
+     * @deprecated you must use {@link ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.ScmVersion,java.util.Date,String)}
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
                             String datePattern )
@@ -723,7 +738,7 @@
      * @param lastUpdate  Date of last update
      * @param datePattern the date pattern use in changelog output returned by scm tool
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
                             String datePattern )
@@ -737,19 +752,20 @@
      * @param repository the source control system
      * @param fileSet    the files to make editable
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
 
     /**
-     * Make a file no longer editable. This is the conterpart of {@link #edit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)}.
+     * Make a file no longer editable. This is the conterpart of {@link #edit(
+     * org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)}.
      * It makes the file read-only again.
      *
      * @param repository the source control system
      * @param fileSet    the files to make uneditable
      * @return
-     * @throws ScmException
+     * @throws ScmException if any
      */
     UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException;
@@ -762,7 +778,8 @@
      * @param recursive  descend recursively
      * @param tag        use the version defined by the tag
      * @return the list of files in the repository
-     * @deprecated you must use {@link ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean,org.apache.maven.scm.ScmVersion)}
+     * @deprecated you must use {@link ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,
+     * org.apache.maven.scm.ScmFileSet,boolean,org.apache.maven.scm.ScmVersion)}
      */
     ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
         throws ScmException;
@@ -775,6 +792,7 @@
      * @param recursive  descend recursively
      * @param version    use the version defined by the branch/tag/revision
      * @return the list of files in the repository
+     * @throws ScmException if any
      */
     ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version )
         throws ScmException;
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmUrlUtils.java b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmUrlUtils.java
index 4dbe506..056099f 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmUrlUtils.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmUrlUtils.java
@@ -36,8 +36,9 @@
  */
 public abstract class ScmUrlUtils
 {
-    private final static String ILLEGAL_SCM_URL = "The scm url must be on the form " +
-        "'scm:<scm provider><delimiter><provider specific part>' " + "where <delimiter> can be either ':' or '|'.";
+    private static final String ILLEGAL_SCM_URL =
+        "The scm url must be on the form 'scm:<scm provider><delimiter><provider specific part>' "
+            + "where <delimiter> can be either ':' or '|'.";
 
     /**
      * Get the delimiter used in the scm url.
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepository.java b/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepository.java
index e5a3174..682ca53 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepository.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepository.java
@@ -57,10 +57,10 @@
         return providerRepository;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return provider.toString() + ":" + providerRepository.toString();
     }
-
 }
 
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepositoryException.java b/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepositoryException.java
index 5fa21cb..a42030e 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepositoryException.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/repository/ScmRepositoryException.java
@@ -31,6 +31,8 @@
 public class ScmRepositoryException
     extends ScmException
 {
+    static final long serialVersionUID = -2191549774722212492L;
+
     private List validationMessages = Collections.EMPTY_LIST;
 
     public ScmRepositoryException( String msg )
diff --git a/maven-scm-api/src/site/site.xml b/maven-scm-api/src/site/site.xml
new file mode 100644
index 0000000..10cb178
--- /dev/null
+++ b/maven-scm-api/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM API">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-client/install.sh b/maven-scm-client/install.sh
deleted file mode 100644
index 85dcf10..0000000
--- a/maven-scm-client/install.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-
-scripts=`ls src/main/bash/maven-scm-*`
-
-dest=$HOME/bin2
-
-echo "Installing scripts to '$dest'."
-
-if [ ! -x $dest ]
-then
-  echo "Destination directory '$dest' doesn't exist!" 1>&2
-
-  exit 1
-fi
-
-for script in $scripts
-do
-  cp $script $dest/$script
-  chmod +x $HOME/bin/$script
-done
-
-echo "Installation done."
diff --git a/maven-scm-client/pom.xml b/maven-scm-client/pom.xml
index 4bcc984..ab38c9c 100644
--- a/maven-scm-client/pom.xml
+++ b/maven-scm-client/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,27 +20,30 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-client</artifactId>
+
   <name>Maven SCM Client</name>
-  <version>1.1</version>
+  <description>SCM Client is a simple SCM command line tool.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
-      <version>1.1</version>
     </dependency>
-    
+
     <!-- providers declaration -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-accurev</artifactId>
-    </dependency>     
+    </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-bazaar</artifactId>
@@ -87,6 +92,50 @@
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-vss</artifactId>
     </dependency>
-    <!-- end providers declaration --> 
+    <!-- end providers declaration -->
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>merge</id>
+            <configuration>
+              <descriptors>
+                <descriptor>src/main/resources/META-INF/plexus/components.xml</descriptor>
+              </descriptors>
+            </configuration>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>merge-descriptors</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.2-beta-2</version>
+        <configuration>
+          <descriptorId>jar-with-dependencies</descriptorId>
+          <finalName>maven-scm-client-${project.version}</finalName>
+          <archive>
+            <manifestEntries>
+              <Main-Class>org.apache.maven.scm.client.cli.MavenScmCli</Main-Class>
+            </manifestEntries>
+          </archive>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java b/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java
index b90f9dd..70ba03f 100644
--- a/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java
+++ b/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java
@@ -108,7 +108,8 @@
             System.err.println(
                 "Usage: maven-scm-client <command> <working directory> <scm url> [<scmVersion> [<scmVersionType>]]" );
             System.err.println( "scmVersion is a branch name/tag name/revision number." );
-            System.err.println( "scmVersionType can be 'branch', 'tag', 'revision'. The default value is 'revision'." );
+            System.err.println( "scmVersionType can be 'branch', 'tag', 'revision'. "
+                + "The default value is 'revision'." );
 
             return;
         }
@@ -221,7 +222,8 @@
     {
         if ( workingDirectory.exists() )
         {
-            System.err.println( "The working directory already exist: '" + workingDirectory.getAbsolutePath() + "'." );
+            System.err.println( "The working directory already exist: '" + workingDirectory.getAbsolutePath()
+                + "'." );
 
             return;
         }
@@ -260,14 +262,16 @@
     {
         if ( !workingDirectory.exists() )
         {
-            System.err.println( "The working directory doesn't exist: '" + workingDirectory.getAbsolutePath() + "'." );
+            System.err.println( "The working directory doesn't exist: '" + workingDirectory.getAbsolutePath()
+                + "'." );
 
             return;
         }
 
         String message = "";
 
-        CheckInScmResult result = scmManager.checkIn( scmRepository, new ScmFileSet( workingDirectory ), version, message );
+        CheckInScmResult result =
+            scmManager.checkIn( scmRepository, new ScmFileSet( workingDirectory ), version, message );
 
         if ( !result.isSuccess() )
         {
@@ -293,7 +297,8 @@
     {
         if ( !workingDirectory.exists() )
         {
-            System.err.println( "The working directory doesn't exist: '" + workingDirectory.getAbsolutePath() + "'." );
+            System.err.println( "The working directory doesn't exist: '" + workingDirectory.getAbsolutePath()
+                + "'." );
 
             return;
         }
diff --git a/maven-scm-client/src/main/resources/META-INF/plexus/components.xml b/maven-scm-client/src/main/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000..21d910c
--- /dev/null
+++ b/maven-scm-client/src/main/resources/META-INF/plexus/components.xml
@@ -0,0 +1,103 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+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.
+-->
+
+<component-set>
+  <components>
+    <component>
+      <role>org.apache.maven.scm.manager.ScmManager</role>
+      <implementation>org.apache.maven.scm.manager.plexus.DefaultScmManager</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.scm.provider.ScmProvider</role>
+          <field-name>scmProviders</field-name>
+        </requirement>
+      </requirements>
+    </component>
+
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>accurev</role-hint>
+      <implementation>org.apache.maven.scm.provider.accurev.AccuRevScmProvider</implementation>
+      <description>Implementation of Accurev integration with Maven SCM</description>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>bazaar</role-hint>
+      <implementation>org.apache.maven.scm.provider.bazaar.BazaarScmProvider</implementation>
+      <description>Bazaar NG http://bazaar-vcs.</description>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>clearcase</role-hint>
+      <implementation>org.apache.maven.scm.provider.clearcase.ClearCaseScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>hg</role-hint>
+      <implementation>org.apache.maven.scm.provider.hg.HgScmProvider</implementation>
+      <description>Mercurial (HG) is a decentralized revision control system.</description>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>local</role-hint>
+      <implementation>org.apache.maven.scm.provider.local.LocalScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>perforce</role-hint>
+      <implementation>org.apache.maven.scm.provider.perforce.PerforceScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>cvs_native</role-hint>
+      <implementation>org.apache.maven.scm.provider.cvslib.cvsexe.CvsExeScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>cvs</role-hint>
+      <implementation>org.apache.maven.scm.provider.cvslib.cvsjava.CvsJavaScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>git</role-hint>
+      <implementation>org.apache.maven.scm.provider.git.gitexe.GitExeScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>svn</role-hint>
+      <implementation>org.apache.maven.scm.provider.svn.svnexe.SvnExeScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>starteam</role-hint>
+      <implementation>org.apache.maven.scm.provider.starteam.StarteamScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>synergy</role-hint>
+      <implementation>org.apache.maven.scm.provider.synergy.SynergyScmProvider</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.scm.provider.ScmProvider</role>
+      <role-hint>vss</role-hint>
+      <implementation>org.apache.maven.scm.provider.vss.VssScmProvider</implementation>
+    </component>
+  </components>
+</component-set>
diff --git a/maven-scm-client/src/site/apt/index.apt b/maven-scm-client/src/site/apt/index.apt
new file mode 100644
index 0000000..eb5a9c4
--- /dev/null
+++ b/maven-scm-client/src/site/apt/index.apt
@@ -0,0 +1,56 @@
+ ------
+ Introduction
+ ------
+ Vincent Siveton
+ ------
+ 2008-08-14
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Maven SCM Client
+
+ The Maven SCM client is a simple SCM command line tool.
+
+* Usage
+
++-----+
+# java -jar target\maven-scm-client-1.1-jar-with-dependencies.jar
+Usage: maven-scm-client <command> <working directory> <scm url> [<scmVersion> [<scmVersionType>]]
+scmVersion is a branch name/tag name/revision number.
+scmVersionType can be 'branch', 'tag', 'revision'. The default value is 'revision'.
++-----+
+
+* Example
+
++-----+
+# java -jar target\maven-scm-client-1.1-jar-with-dependencies.jar checkout c:\temp\maven-scm-client scm:svn:http://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-client
+[INFO] Executing: cmd.exe /X /C "svn --non-interactive checkout http://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-client maven-scm-client"
+[INFO] Working directory: c:\temp
+Checked out these files:
+ maven-scm-client\src\main\java\org\apache\maven\scm\client\cli\MavenScmCli.java
+ maven-scm-client\src\main\resources\META-INF\plexus\components.xml
+ maven-scm-client\src\main\bash\maven-scm-update
+ maven-scm-client\src\main\bash\maven-scm-checkin
+ maven-scm-client\src\main\bash\maven-scm-checkout
+ maven-scm-client\src\site\site.xml
+ maven-scm-client\pom.xml
++-----+
diff --git a/maven-scm-client/src/site/site.xml b/maven-scm-client/src/site/site.xml
new file mode 100644
index 0000000..2feb8b8
--- /dev/null
+++ b/maven-scm-client/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Client">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-managers/maven-scm-manager-plexus/pom.xml b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
index 9b3e99c..9347390 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/pom.xml
+++ b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,32 +20,35 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-managers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-managers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-manager-plexus</artifactId>
+
   <name>Maven SCM Manager for Plexus</name>
-  <version>1.1</version>
+  <description>SCM Plexus component.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
-      <version>1.0-alpha-9</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-    </dependency>    
+    </dependency>
   </dependencies>
+
   <build>
     <plugins>
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-maven-plugin</artifactId>
-        <version>1.3.4</version>
         <executions>
           <execution>
             <goals>
diff --git a/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java b/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java
index c114f5c..bfaac5e 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java
+++ b/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java
@@ -89,6 +89,7 @@
     // Component Lifecycle
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void initialize()
     {
         if ( scmProviders == null )
@@ -104,6 +105,7 @@
         setScmProviders( scmProviders );
     }
 
+    /** {@inheritDoc} */
     protected ScmLogger getScmLogger()
     {
         return new PlexusLogger( getLogger() );
diff --git a/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/PlexusLogger.java b/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/PlexusLogger.java
index 1635bef..1061fe9 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/PlexusLogger.java
+++ b/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/PlexusLogger.java
@@ -36,132 +36,99 @@
         this.logger = logger;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isDebugEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isDebugEnabled()
     {
         return logger.isDebugEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void debug( String content )
     {
         logger.debug( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( String content, Throwable error )
     {
         logger.debug( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( Throwable error )
     {
         logger.debug( "", error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isInfoEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isInfoEnabled()
     {
         return logger.isInfoEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void info( String content )
     {
         logger.info( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( String content, Throwable error )
     {
         logger.info( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( Throwable error )
     {
         logger.info( "", error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isWarnEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isWarnEnabled()
     {
         return logger.isWarnEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void warn( String content )
     {
         logger.warn( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( String content, Throwable error )
     {
         logger.warn( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( Throwable error )
     {
         logger.warn( "", error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isErrorEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isErrorEnabled()
     {
         return logger.isErrorEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void error( String content )
     {
         logger.error( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( String content, Throwable error )
     {
         logger.error( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( Throwable error )
     {
         logger.error( "", error );
     }
-
 }
diff --git a/maven-scm-managers/maven-scm-manager-plexus/src/site/site.xml b/maven-scm-managers/maven-scm-manager-plexus/src/site/site.xml
new file mode 100644
index 0000000..a2b5daf
--- /dev/null
+++ b/maven-scm-managers/maven-scm-manager-plexus/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Plexus Manager">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-managers/pom.xml b/maven-scm-managers/pom.xml
index 6759cc7..9110b44 100644
--- a/maven-scm-managers/pom.xml
+++ b/maven-scm-managers/pom.xml
@@ -18,26 +18,21 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-managers</artifactId>
   <packaging>pom</packaging>
+
   <name>Maven SCM Managers</name>
-  <version>1.1</version>
+  <description>Parent for SCM Managers.</description>
+
   <modules>
     <module>maven-scm-manager-plexus</module>
   </modules>
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.apache.maven.scm</groupId>
-        <artifactId>maven-scm-api</artifactId>
-        <version>1.1</version>
-      </dependency>
-    </dependencies>  
-  </dependencyManagement>
 </project>
diff --git a/maven-scm-managers/src/site/site.xml b/maven-scm-managers/src/site/site.xml
new file mode 100644
index 0000000..7858bc3
--- /dev/null
+++ b/maven-scm-managers/src/site/site.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Managers">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="modules" />
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-plugin/pom.xml b/maven-scm-plugin/pom.xml
index c8f1a8e..e378282 100644
--- a/maven-scm-plugin/pom.xml
+++ b/maven-scm-plugin/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,47 +20,33 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <artifactId>maven-scm</artifactId>
-    <groupId>org.apache.maven.scm</groupId>
-    <version>1.1</version>
-  </parent>
   <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-plugins</artifactId>
+    <version>11</version>
+  </parent>
+
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-scm-plugin</artifactId>
-  <packaging>maven-plugin</packaging>
-  <name>Maven SCM Plugin</name>
-  <description>Maven Plugin that allows accessing different SCMs</description>
   <version>1.1</version>
+  <packaging>maven-plugin</packaging>
+
+  <name>Maven SCM Plugin</name>
+  <description>Maven Plugin that allows accessing different SCMs.</description>
+
   <prerequisites>
     <maven>2.0.6</maven>
   </prerequisites>
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plugin-plugin</artifactId>
-        <version>2.3</version>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
-  <build>
-    <extensions>
-      <extension>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-ssh-external</artifactId>
-        <version>1.0-beta-2</version>
-      </extension>
-    </extensions>
-  </build>
+
+  <distributionManagement>
+    <site>
+      <id>apache.website</id>
+      <url>scp://people.apache.org/www/maven.apache.org/scm/maven-scm-plugin</url>
+    </site>
+  </distributionManagement>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -78,63 +66,42 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-manager-plexus</artifactId>
+      <version>1.1</version>
     </dependency>
-    
+
     <!-- providers declaration -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-accurev</artifactId>
-    </dependency>     
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-bazaar</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-clearcase</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvsexe</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvsjava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-gitexe</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-hg</artifactId>
+      <artifactId>maven-scm-providers-standard</artifactId>
+      <version>1.1</version>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-local</artifactId>
+      <version>1.1</version>
     </dependency>
+    <!-- This is used directly by the mojo -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-perforce</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-starteam</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-svnexe</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-synergy</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-vss</artifactId>
+      <artifactId>maven-scm-provider-svn-commons</artifactId>
+      <version>1.1</version>
     </dependency>
     <!-- end providers declaration -->
-    
+
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.5.6</version>
+    </dependency>
+
+    <!-- Test -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.2</version>
+      <scope>test</scope>
+    </dependency>   
     <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-plugin-testing-harness</artifactId>
@@ -148,10 +115,249 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
-  <distributionManagement>
-    <site>
-      <id>apache.website</id>
-      <url>scpexe://people.apache.org/www/maven.apache.org/scm/plugins</url>
-    </site>
-  </distributionManagement>
+
+  <build>
+    <extensions>
+      <extension>
+        <groupId>org.apache.maven.wagon</groupId>
+        <artifactId>wagon-ssh-external</artifactId>
+        <version>1.0-beta-2</version>
+      </extension>
+    </extensions>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>2.0-beta-7</version>
+          <configuration>
+            <tagBase>https://svn.apache.org/repos/asf/maven/scm/tags</tagBase>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>2.0-beta-7</version>
+          <configuration>
+            <stagingSiteURL>scp://people.apache.org/www/maven.apache.org/scm/maven-scm-plugin-${project.version}</stagingSiteURL>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  
+  <profiles>
+    <profile>
+      <id>reporting</id>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-changes-plugin</artifactId>
+            <version>2.0</version>
+            <configuration>
+              <!-- For JIRA-report -->
+              <columnNames>Type,Key,Summary,Assignee,Status,Resolution,Fix Version</columnNames>
+              <onlyCurrentVersion>true</onlyCurrentVersion>
+              <resolutionIds>Closed</resolutionIds>
+              <sortColumnNames>Type,Key</sortColumnNames>
+            </configuration>
+            <reportSets>
+              <reportSet>
+                <reports>
+                  <report>jira-report</report>
+                </reports>
+              </reportSet>
+            </reportSets>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-plugin-plugin</artifactId>
+            <version>2.4.2</version>
+          </plugin>
+          <!-- TODO: remove when maven-plugins parent pom 12 is released -->
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+              <taglets>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoAggregatorTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoComponentFieldTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoConfiguratorTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoExecuteTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoExecutionStrategyTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoGoalTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoInheritByDefaultTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoInstantiationStrategyTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoParameterFieldTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoPhaseTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoReadOnlyFieldTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoRequiredFieldTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoRequiresDependencyResolutionTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoRequiresDirectInvocationTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoRequiresOnLineTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoRequiresProjectTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.apache.maven.tools.plugin.javadoc.MojoRequiresReportsTypeTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.apache.maven.plugin-tools</groupId>
+                    <artifactId>maven-plugin-tools-javadoc</artifactId>
+                    <version>2.4.2</version>
+                  </tagletArtifact>
+                </taglet>
+
+                <taglet>
+                  <tagletClass>org.codehaus.plexus.javadoc.PlexusComponentTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-javadoc</artifactId>
+                    <version>1.0</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.codehaus.plexus.javadoc.PlexusConfigurationTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-javadoc</artifactId>
+                    <version>1.0</version>
+                  </tagletArtifact>
+                </taglet>
+                <taglet>
+                  <tagletClass>org.codehaus.plexus.javadoc.PlexusRequirementTaglet</tagletClass>
+                  <tagletArtifact>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-javadoc</artifactId>
+                    <version>1.0</version>
+                  </tagletArtifact>
+                </taglet>
+              </taglets>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-plugin-plugin</artifactId>
+            <version>2.4.2</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+  </profiles>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/maven/scm/tags/maven-scm-1.1</url>
+  </scm>
 </project>
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
index 739cadf..2e484f0 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
@@ -166,6 +166,7 @@
      */
     private Map providerImplementations;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
@@ -190,8 +191,9 @@
             {
                 String providerType = (String) i.next();
                 String providerImplementation = (String) providerImplementations.get( providerType );
-                getLog().info( "Change the default '" + providerType + "' provider implementation to '" +
-                    providerImplementation + "'." );
+                getLog().info(
+                               "Change the default '" + providerType + "' provider implementation to '"
+                                   + providerImplementation + "'." );
                 getScmManager().setScmProviderImplementation( providerType, providerImplementation );
             }
         }
@@ -340,7 +342,7 @@
     /**
      * Load username password from settings if user has not set them in JVM properties
      *
-     * @param repo
+     * @param repo not null
      */
     private void loadInfosFromSettings( ScmProviderRepositoryWithHost repo )
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AddMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AddMojo.java
index ed36ea9..aaa1d3b 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AddMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AddMojo.java
@@ -27,14 +27,17 @@
 import java.io.IOException;
 
 /**
+ * Add a file set to the project.
+ *
  * @author <a href="julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  * @goal add
  * @aggregator
- * @description Add a files to the project
  */
 public class AddMojo
     extends AbstractScmMojo
 {
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java
index 682e808..5e01733 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java
@@ -27,11 +27,7 @@
 import org.codehaus.plexus.util.cli.DefaultConsumer;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.InputStreamReader;
-import java.util.Iterator;
-import java.util.Properties;
 
 /**
  * Pull the project source from the configured scm and execute the configured goals.
@@ -39,7 +35,6 @@
  * @author <a href="dantran@gmail.com">Dan T. Tran</a>
  * @version $Id$
  * @goal bootstrap
- * @description Boostrap a project
  * @requiresProject false
  */
 public class BootstrapMojo
@@ -71,6 +66,7 @@
      */
     private String goalsDirectory;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
@@ -78,32 +74,29 @@
 
         if ( this.getCheckoutResult() != null )
         {
-        	runGoals( this.getCheckoutResult().getRelativePathProjectDirectory() );
+            runGoals( this.getCheckoutResult().getRelativePathProjectDirectory() );
         }
     }
 
     /**
      * @param relativePathProjectDirectory the project directory's path relative to the checkout
      *                                     directory; or "" if they are the same
+     * @throws MojoExecutionException if any
      */
     private void runGoals( String relativePathProjectDirectory )
         throws MojoExecutionException
     {
         Commandline cl = new Commandline();
-
         try
         {
-            addSystemEnvironment( cl );
+            cl.addSystemEnvironment();
         }
         catch ( Exception e )
         {
             throw new MojoExecutionException( "Can't add system environment variables to mvn command line.", e );
         }
-
         cl.addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-
         cl.setExecutable( "mvn" );
-
         cl.setWorkingDirectory( determineWorkingDirectoryPath( this.getCheckoutDirectory(),
                                                                relativePathProjectDirectory, goalsDirectory ) );
 
@@ -113,13 +106,13 @@
 
             for ( int i = 0; i < tokens.length; ++i )
             {
-                cl.createArgument().setValue( tokens[i] );
+                cl.createArg().setValue( tokens[i] );
             }
         }
 
         if ( ! StringUtils.isEmpty( this.profiles ) )
         {
-            cl.createArgument().setValue( "-P" + this.profiles );
+            cl.createArg().setValue( "-P" + this.profiles );
         }
 
         StreamConsumer consumer = new DefaultConsumer();
@@ -140,9 +133,9 @@
     }
 
     /**
-     * Determines the path of the working directory. By default, this is the checkout directory. For some SCMs, the project root directory
-     * is not the checkout directory itself, but a SCM-specific subdirectory. The build can furthermore optionally be executed in a
-     * subdirectory of this project directory, in case
+     * Determines the path of the working directory. By default, this is the checkout directory. For some SCMs,
+     * the project root directory is not the checkout directory itself, but a SCM-specific subdirectory. The
+     * build can furthermore optionally be executed in a subdirectory of this project directory, in case.
      *
      * @param checkoutDirectory
      * @param relativePathProjectDirectory
@@ -166,73 +159,7 @@
         {
             return projectDirectory.getPath();
         }
-        else
-        {
-            return new File( projectDirectory, goalsDirectory ).getPath();
-        }
-    }
 
-    /**
-     * Add system environment variables
-     * Moved to plexus-utils 1.0.5
-     */
-    private void addSystemEnvironment( Commandline cl )
-        throws Exception
-    {
-        Properties envVars = getSystemEnvVars();
-
-        for ( Iterator i = envVars.keySet().iterator(); i.hasNext(); )
-        {
-            String key = (String) i.next();
-
-            cl.addEnvironment( key, envVars.getProperty( key ) );
-        }
-    }
-
-    private Properties getSystemEnvVars()
-        throws Exception
-    {
-        Process p = null;
-
-        Properties envVars = new Properties();
-
-        Runtime r = Runtime.getRuntime();
-
-        String os = System.getProperty( "os.name" ).toLowerCase();
-
-        //If this is windows set the shell to command.com or cmd.exe with correct arguments.
-        if ( os.indexOf( "windows" ) != -1 )
-        {
-            if ( os.indexOf( "95" ) != -1 || os.indexOf( "98" ) != -1 || os.indexOf( "Me" ) != -1 )
-            {
-                p = r.exec( "command.com /c set" );
-            }
-            else
-            {
-                p = r.exec( "cmd.exe /c set" );
-            }
-        }
-        else
-        {
-            p = r.exec( "env" );
-        }
-
-        BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
-
-        String line;
-
-        while ( ( line = br.readLine() ) != null )
-        {
-            int idx = line.indexOf( '=' );
-
-            String key = line.substring( 0, idx );
-
-            String value = line.substring( idx + 1 );
-
-            envVars.setProperty( key, value );
-            // System.out.println( key + " = " + value );
-        }
-
-        return envVars;
+        return new File( projectDirectory, goalsDirectory ).getPath();
     }
 }
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java
index baf5487..99fe1a6 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java
@@ -33,16 +33,16 @@
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal branch
- * @description Branch the project
  * @aggregator
  */
 public class BranchMojo
     extends AbstractScmMojo
 {
     /**
-     * Tag name.
+     * The branch name.
      *
      * @parameter expression="${branch}"
+     * @required
      */
     private String branch;
 
@@ -53,6 +53,7 @@
      */
     private String message;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
index 1686cf3..64f56eb 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
@@ -89,6 +89,7 @@
      */
     private String scmVersion;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java
index a962bba..5c8f878 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java
@@ -32,7 +32,6 @@
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal checkin
- * @description checkin the project
  * @aggregator
  */
 public class CheckinMojo
@@ -66,6 +65,7 @@
      */
     private String scmVersion;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
index 3692016..f2354e8 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
@@ -35,7 +35,6 @@
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal checkout
- * @description Check out a project
  * @requiresProject false
  */
 public class CheckoutMojo
@@ -73,7 +72,8 @@
      * allow extended mojo (ie BootStrap ) to see checkout result
      */
     private CheckOutScmResult checkoutResult;
-    
+
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
@@ -83,7 +83,7 @@
         checkoutResult = null;
         if ( !getCheckoutDirectory().isDirectory() || !this.skipCheckoutIfExists )
         {
-        	checkoutResult = checkout();
+            checkoutResult = checkout();
         }
     }
 
@@ -133,7 +133,7 @@
         }
     }
 
-    protected CheckOutScmResult getCheckoutResult() 
+    protected CheckOutScmResult getCheckoutResult()
     {
         return checkoutResult;
     }
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java
index c8ee66c..ad71438 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java
@@ -36,129 +36,97 @@
         this.logger = logger;
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isDebugEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isDebugEnabled()
     {
         return logger.isDebugEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void debug( String content )
     {
         logger.debug( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( String content, Throwable error )
     {
         logger.debug( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#debug(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void debug( Throwable error )
     {
         logger.debug( error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isInfoEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isInfoEnabled()
     {
         return logger.isInfoEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void info( String content )
     {
         logger.info( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( String content, Throwable error )
     {
         logger.info( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#info(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void info( Throwable error )
     {
         logger.info( error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isWarnEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isWarnEnabled()
     {
         return logger.isWarnEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void warn( String content )
     {
         logger.warn( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( String content, Throwable error )
     {
         logger.warn( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#warn(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void warn( Throwable error )
     {
         logger.warn( error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#isErrorEnabled()
-     */
+    /** {@inheritDoc} */
     public boolean isErrorEnabled()
     {
         return logger.isErrorEnabled();
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String)
-     */
+    /** {@inheritDoc} */
     public void error( String content )
     {
         logger.error( content );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.String,java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( String content, Throwable error )
     {
         logger.error( content, error );
     }
 
-    /**
-     * @see org.apache.maven.scm.log.ScmLogger#error(java.lang.Throwable)
-     */
+    /** {@inheritDoc} */
     public void error( Throwable error )
     {
         logger.error( error );
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java
index bb1d5f7..3e50aa3 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java
@@ -34,7 +34,6 @@
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal diff
- * @description Create a diff
  * @aggregator
  */
 public class DiffMojo
@@ -76,6 +75,7 @@
      */
     private File outputFile;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/EditMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/EditMojo.java
index 5fea54f..af47e34 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/EditMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/EditMojo.java
@@ -37,6 +37,7 @@
 public class EditMojo
     extends AbstractScmMojo
 {
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
index 6b6992a..a9c5cd7 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
@@ -36,7 +36,6 @@
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal export
- * @description Export a project
  * @requiresProject false
  */
 public class ExportMojo
@@ -64,6 +63,7 @@
      */
     private String exportDirectory;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
index 6f93beb..e470442 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
@@ -1,16 +1,5 @@
 package org.apache.maven.scm.plugin;
 
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.ScmFile;
-import org.apache.maven.scm.ScmFileSet;
-import org.apache.maven.scm.command.list.ListScmResult;
-import org.apache.maven.scm.repository.ScmRepository;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -30,13 +19,23 @@
  * under the License.
  */
 
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+
 /**
  * Get the list of project files.
  *
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal list
- * @description List files in project
  * @aggregator
  */
 public class ListMojo
@@ -63,6 +62,7 @@
      */
     private boolean recursive = true;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java
index dd08155..e629267 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java
@@ -36,12 +36,12 @@
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  * @goal status
- * @description Project status
  * @aggregator
  */
 public class StatusMojo
     extends AbstractScmMojo
 {
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
@@ -71,8 +71,9 @@
                 ScmFile file = (ScmFile) iter.next();
 
                 // right align all of the statuses
-                getLog().info( StringUtils.leftPad( file.getStatus().toString(), maxLen ) + " status for " +
-                    getRelativePath( baseDir, file.getPath() ) );
+                getLog().info(
+                               StringUtils.leftPad( file.getStatus().toString(), maxLen ) + " status for "
+                                   + getRelativePath( baseDir, file.getPath() ) );
             }
         }
         catch ( IOException e )
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java
index 099a0e6..c6746aa 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java
@@ -37,15 +37,15 @@
  * @version $Id$
  * @goal tag
  * @aggregator
- * @description Tag the project
  */
 public class TagMojo
     extends AbstractScmMojo
 {
     /**
-     * Tag name.
+     * The tag name.
      *
      * @parameter expression="${tag}"
+     * @required
      */
     private String tag;
 
@@ -84,6 +84,7 @@
      */
     private String timestampPrefix;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UnEditMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UnEditMojo.java
index 4e478a8..da38425 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UnEditMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UnEditMojo.java
@@ -37,6 +37,7 @@
 public class UnEditMojo
     extends AbstractScmMojo
 {
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java
index e69f33e..16596a9 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java
@@ -35,7 +35,6 @@
  * @version $Id$
  * @goal update
  * @aggregator
- * @description Update the project
  */
 public class UpdateMojo
     extends AbstractScmMojo
@@ -77,6 +76,7 @@
      */
     private boolean runChangelog = false;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateSubprojectsMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateSubprojectsMojo.java
index 03b4d6a..f1844e0 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateSubprojectsMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateSubprojectsMojo.java
@@ -1,14 +1,5 @@
 package org.apache.maven.scm.plugin;
 
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.command.update.UpdateScmResult;
-import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
-import org.apache.maven.scm.repository.ScmRepository;
-
-import java.io.IOException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -28,9 +19,21 @@
  * under the License.
  */
 
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.command.update.UpdateScmResult;
+import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
+import org.apache.maven.scm.repository.ScmRepository;
+
+import java.io.IOException;
+
 /**
+ * Updates all projects in a multi project build. This is useful for users who have adopted the flat project structure
+ * where the aggregator project is a sibling of the sub projects rather than sitting in the parent directory.
+ *
  * @goal update-subprojects
- * @description Updates all projects in a multi project build. This is useful for users who have adopted the flat project structure where the aggregator project is a sibling of the sub projects rather than sitting in the parent directory.
+ * @version $Id$
  */
 public class UpdateSubprojectsMojo
     extends AbstractScmMojo
@@ -65,6 +68,7 @@
      */
     private MavenProject project;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ValidateMojo.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ValidateMojo.java
index 65d7eec..430cbf9 100644
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ValidateMojo.java
+++ b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ValidateMojo.java
@@ -50,6 +50,7 @@
      */
     private String scmDeveloperConnection;
 
+    /** {@inheritDoc} */
     public void execute()
         throws MojoExecutionException
     {
diff --git a/maven-scm-plugin/src/site/apt/examples/bootstrapping-with-pom.apt b/maven-scm-plugin/src/site/apt/examples/bootstrapping-with-pom.apt
index 3d45bb9..e02aea1 100644
--- a/maven-scm-plugin/src/site/apt/examples/bootstrapping-with-pom.apt
+++ b/maven-scm-plugin/src/site/apt/examples/bootstrapping-with-pom.apt
@@ -3,20 +3,40 @@
  ------
  Pete Marvin King
  ------
- 20 July 2006
+ 2008-08-13
  ------
- 
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 Bootstrapping a Project Using a POM
 
  Using the <<<scm:bootstrap>>> a project can be build from a fresh copy of the source in the scm repository.
  This is a convenient way to distribute a project because the bootstrap pom can be given to a developer to generate
- the maven build environment for the project. 
- 
- The <<<pom.xml>>> should contain a scm configuration for the bootstrap to work. 
- 
+ the maven build environment for the project.
+
+ The <<<pom.xml>>> should contain a scm configuration for the bootstrap to work.
+
 +-----------+
 <project>
-  [...]
+  ...
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>SCM Sample Project</name>
@@ -26,9 +46,9 @@
     <developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
     <url>http://somerepository.com/view.cvs</url>
   <scm>
-  [...]
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -39,32 +59,33 @@
         </configuration>
       </plugin>
     </plugins>
-    [...]
+    ...
   </build>
-  [...]
+  ...
 </project>
-+-----------+  
++-----------+
 
- Assuming the scm configuration has been configured in the <<<pom.xml>>>, bootstrapping can be invoked by 
- 
+ Assuming the scm configuration has been configured in the <<<pom.xml>>>, bootstrapping can be invoked by
+
 +---------+
    mvn scm:bootstrap
-+---------+ 
++---------+
 
- By default the scm plugin will get the latest version from the trunk and generate it under <<<target/checkout>>> and execute 
- the configured goals in it. 
-  
+ By default the scm plugin will get the latest version from the trunk and generate it under <<<target/checkout>>> and execute
+ the configured goals in it.
+
 Configuring Authentication
 
  Most public repositories requires developers to authenticate first before they can pull the source from the repository.
  For repository requiring authentication, the scm plugin needs to be configured in the <<<pom.xml>>>
- 
- * specifying the username and password for svn and starteam 
- 
-+-----------+   
-  [...]
+
+ * specifying the username and password for svn and starteam
+
++-----------+
+<project>
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -76,7 +97,8 @@
         </configuration>
       </plugin>
     </plugins>
-    [...]
+    ...
   </build>
-  [...]
-+-----------+  
+  ...
+</project>
++-----------+
diff --git a/maven-scm-plugin/src/site/apt/examples/scm-advance-features.apt b/maven-scm-plugin/src/site/apt/examples/scm-advance-features.apt
index 5a92160..7ea9c5a 100644
--- a/maven-scm-plugin/src/site/apt/examples/scm-advance-features.apt
+++ b/maven-scm-plugin/src/site/apt/examples/scm-advance-features.apt
@@ -3,15 +3,36 @@
  ------
  Pete Marvin King
  ------
- 20 July 2006
- ------ 
- 
+ 2008-08-13
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 Other SCM Commands
 
  The scm plugin requires the scm to be configured in the <<<pom.xml>>>.
- 
+
 +---------+
-  [...]
+<project>
+  ...
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>SCM Sample Project</name>
@@ -21,16 +42,18 @@
     <developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
     <url>http://somerepository.com/view.cvs</url>
   </scm>
-  [...]
+  ...
+</project>
 +---------+
 
  If you want to change the default scm provider implementation, for exemple you want to use the native cvs
  instead of the pure java implementation, you must configure your plugin like that:
 
 +-----------+
-  [...]
+<project>
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -41,23 +64,25 @@
           </providerImplementations>
         </configuration>
       </plugin>
-      [...]
+      ...
     </plugins
-    [...]
+    ...
   </build>
-  [...]
-+-----------+  
+  ...
+</project>
++-----------+
 
  Once the scm has been configured, scm operations can be performed.
-  
+
 * changelog - displays the project commit changes for each revisions
 
     <<<pom.xml>>> configuration :
-    
+
 +-----------+
-  [...]
+<project>
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -68,34 +93,36 @@
           <endDate>YYYY-MM-DD</endDate>
         </configuration>
       </plugin>
-      [...]
+      ...
     </plugins
-    [...]
+    ...
   </build>
-  [...]
-+-----------+  
-    
+  ...
+</project>
++-----------+
+
     Command :
-      
+
 +---------+
   mvn scm:changelog
-+---------+  
-    
++---------+
+
     or you can specify the startDate and endDate on the commandline
-    
+
 +---------+
   mvn -DstartDate=YYYY-MM-DD -DendDate=YYYY-MM-DD scm:changelog
-+---------+  
-      
-  
++---------+
+
+
 * diff
 
     <<<pom.xml>>> configuration :
-    
+
 +-----------+
-  [...]
+<project>
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -103,52 +130,54 @@
         <version>1.0</version>
         <configuration>
           <startRevision>connection</startRevision>
-          <endRevision>connection</endRevision>                   
+          <endRevision>connection</endRevision>
         </configuration>
       </plugin>
-      [...]
+      ...
     </plugins
-    [...]
+    ...
   </build>
-  [...]
-+-----------+  
+  ...
+</project>
++-----------+
 
     Command :
-        
+
 +---------+
    mvn scm:diff
-+---------+  
-    
++---------+
+
     or you can specify the startRevision and endRevision in the command line
-    
+
 +---------+
    mvn -DstartRevision=<revision> -DendRevision=<revision> scm:diff
-+---------+  
-        
++---------+
+
 * edit - set the edit status of the file, locking the project sources if supported.
 
     Command :
-        
+
 +---------+
   mvn scm:edit
-+---------+  
-    
++---------+
+
 * status - displays the modified files in the project.
 
     Command :
-        
+
 +---------+
    mvn scm:status
-+---------+  
-    
++---------+
+
 * tag
 
     <<<pom.xml>>> configuration :
-    
+
 +-----------+
-  [...]
+<project>
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -158,44 +187,45 @@
           <tag>tag name</tag>
         </configuration>
       </plugin>
-      [...]
+      ...
     </plugins
-    [...]
+    ...
   </build>
-  [...]
-+-----------+  
+  ...
+</project>
++-----------+
 
     Command :
-        
+
 +---------+
    mvn scm:tag
-+---------+    
++---------+
 
      or you can specify the tag name in the command line
-     
+
 +---------+
    mvn -Dtag="<tag name>" scm:tag
-+---------+    
-       
++---------+
+
 * unedit - unset the edit status of the project sources and unlocking it if supported.
 
     Command :
-        
+
 +---------+
    mvn scm:unedit
-+---------+    
-   
++---------+
+
 * validate - check if the scm urls configured in the <<<pom.xml>>> is valid.
 
     Command :
-       
+
 +---------+
    mvn scm:validate
-+---------+  
-  
++---------+
+
     or passing the scmConnection or/and the developerConnection in the command line
-    
+
 +---------+
    mvn -DscmConnection="<scm url>" -DscmDeveloperConnection="<scm url>" scm:validate
-+---------+  
-    
++---------+
+
diff --git a/maven-scm-plugin/src/site/apt/index.apt b/maven-scm-plugin/src/site/apt/index.apt
index 8962bbb..e21aee2 100644
--- a/maven-scm-plugin/src/site/apt/index.apt
+++ b/maven-scm-plugin/src/site/apt/index.apt
@@ -3,49 +3,83 @@
  ------
  Pete Marvin King
  ------
- 18 July 2006
+ 2008-08-13
  ------
- 
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 Maven SCM Plugin
 
  The SCM Plugin offers vendor independent access to common scm commands by offering a set
  of command mappings for the configured scm. Each command is implemented as a goal.
- 
+
 * Goals Overview
 
- * {{{add-mojo.html}scm:add}} - command to add file 
- 
- * {{{bootstrap-mojo.html}scm:bootstrap}} - command to checkout and build a project 
+The SCM Plugin has 16 goals:
+
+ * {{{branch-mojo.html}scm:branch}} - branch the project
+
+ * {{{validate-mojo.html}scm:validate}} - validate the scm information in the pom
+
+ * {{{add-mojo.html}scm:add}} - command to add file
+
+ * {{{unedit-mojo.html}scm:unedit}} - command to stop editing the working copy
+
+ * {{{export-mojo.html}scm:export}} - command to get a fresh exported copy
+
+ * {{{bootstrap-mojo.html}scm:bootstrap}} - command to checkout and build a project
 
  * {{{changelog-mojo.html}scm:changelog}} - command to show the source code revisions
- 
+
+ * {{{list-mojo.html}scm:list}} - command for get the list of project files
+
  * {{{checkin-mojo.html}scm:checkin}} - command for commiting changes
- 
+
  * {{{checkout-mojo.html}scm:checkout}} - command for getting the source code
- 
- * {{{diff-mojo.html}scm:diff}} - command for showing the difference of the working copy with the remote one
- 
- * {{{edit-mojo.html}scm:edit}} - command for starting edit on the working copy
- 
+
  * {{{status-mojo.html}scm:status}} - command for showing the scm status of the working copy
- 
- * {{{tag-mojo.html}scm:tag}} - command for tagging a certain revision
- 
- * {{{unedit-mojo.html}scm:unedit}} - command to stop editing the working copy
- 
+
  * {{{update-mojo.html}scm:update}} - command for updating the working copy with the latest changes
- 
- * {{{validate-mojo.html}scm:validate}} - validates the scm information in the pom
- 
+
+ * {{{diff-mojo.html}scm:diff}} - command for showing the difference of the working copy with the remote one
+
+ * {{{update-subprojects-mojo.html}scm:update-subprojects}} - command for updating all projects in a multi project build
+
+ * {{{edit-mojo.html}scm:edit}} - command for starting edit on the working copy
+
+ * {{{tag-mojo.html}scm:tag}} - command for tagging a certain revision
+
+ []
+
 * Usage
 
-  Instructions on how to use the SCM Plugin can be found {{{usage.html}here}}. 
- 
+  Instructions on how to use the SCM Plugin can be found {{{usage.html}here}}.
+
 * Examples
 
   To provide you with better understanding on some usages of the Maven SCM Plugin,
   you can take a look into the following examples:
 
- {{{examples/bootstrapping-with-pom.html}Bootstrapping using a POM file}}
- 
- {{{examples/scm-advance-features.html}Other advanced scm commands}}
+ * {{{examples/bootstrapping-with-pom.html}Bootstrapping using a POM file}}
+
+ * {{{examples/scm-advance-features.html}Other advanced scm commands}}
+
+ []
diff --git a/maven-scm-plugin/src/site/apt/introduction.apt b/maven-scm-plugin/src/site/apt/introduction.apt
deleted file mode 100644
index e69de29..0000000
--- a/maven-scm-plugin/src/site/apt/introduction.apt
+++ /dev/null
diff --git a/maven-scm-plugin/src/site/apt/usage.apt b/maven-scm-plugin/src/site/apt/usage.apt
index f067fff..14494e7 100644
--- a/maven-scm-plugin/src/site/apt/usage.apt
+++ b/maven-scm-plugin/src/site/apt/usage.apt
@@ -3,28 +3,51 @@
  ------
  Pete Marvin King
  ------
- 18 July 2006
+ 2008-08-13
  ------
- 
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 Usage
 
- The scm plugin maps a lot of commands to a variety of scm implementations. But there are only 2 frequently 
+ The scm plugin maps a lot of commands to a variety of scm implementations. But there are only 2 frequently
  used commands:
-  
-   * checkin - commit the changes to the remote repository ( scm server ).
-  
-   * update - updates the local working copy with the one from the remote repository ( scm server ).
-   
-Configuring SCM 
+
+  * checkin - commit the changes to the remote repository ( scm server ).
+
+  * update - updates the local working copy with the one from the remote repository ( scm server ).
+
+  []
+
+Configuring SCM
 
  Each scm has a different command line invocation to commit the modified sources. Using maven this process is
  simplified by providing a uniform way to do this by letting maven handle the command line translation to perform
  the scm task.
 
  To configure the scm support for maven you need the scm configuration in your <<<pom.xml>>>.
- 
+
 +---------+
-  [...]
+<project>
+  ...
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>SCM Sample Project</name>
@@ -34,44 +57,46 @@
     <developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
     <url>http://somerepository.com/view.cvs</url>
   </scm>
-  [...]
+  ...
+</project>
 +---------+
- 
+
  Maven will use the information embedded in the scm configuration to determine the command mapping for the scm command.
  The scm configuration url is composed of different information that defines the mapping:
- 
+
 +------+
    scm:svn:http://somerepository.com/svn_repo/trunk
    <service name>:<scm implementation>:<repository url>
 +------+
- 
+
   Check the {{{http://maven.apache.org/scm/scms-overview.html}maven scm list}} for the list of supported SCMs.
-  
+
 Committing and updating changes through Maven
 
- Assuming that SCM has been configured in the <<<pom.xml>>> and the project directory is managed by a SCM, invoking 
+ Assuming that SCM has been configured in the <<<pom.xml>>> and the project directory is managed by a SCM, invoking
  the checkin goal in the scm will start the commit process for all configured sources in your <<<pom.xml>>>.
- 
+
  <<The files should be added beforehand by an external scm client.>>
- 
-+-----+ 
+
++-----+
   mvn -Dmessage="<commit_log_here>" scm:checkin
-+-----+      
- 
- for update 
- 
-+-----+ 
++-----+
+
+ for update
+
++-----+
   mvn scm:update
-+-----+      
++-----+
 
 Specifying the scm connection to use
 
  There two possible scm connections that can be used in the <<<pom.xml>>>, connection and developerConnection.
- 
+
  * connection configuration
- 
+
 +-----------+
-  [...]
+<project>
+  ...
   <build>
     [...]
     <plugins>
@@ -83,19 +108,21 @@
           <connectionType>connection</connectionType>
         </configuration>
       </plugin>
-      [...]
+      ...
     </plugins
-    [...]
+    ...
   </build>
-  [...]
-+-----------+  
+  ...
+</project>
++-----------+
 
  * developerConnection configuration
- 
+
 +-----------+
-  [...]
+<project>
+  ...
   <build>
-    [...]
+    ...
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -105,15 +132,16 @@
           <connectionType>developerConnection</connectionType>
         </configuration>
       </plugin>
-      [...]
+      ...
     </plugins
-    [...]
+    ...
   </build>
-  [...]
-+-----------+   
- 
- 
+  ...
+</project>
++-----------+
+
 Related Links
 
-   {{{http://docs.codehaus.org/display/SCM/SCM+Matrix}SCM Plugin Matrix}} 
- 
\ No newline at end of file
+  * {{{http://docs.codehaus.org/display/SCM/SCM+Matrix}SCM Plugin Matrix}}
+
+  []
diff --git a/maven-scm-plugin/src/site/site.xml b/maven-scm-plugin/src/site/site.xml
index 1f3984a..7886573 100644
--- a/maven-scm-plugin/src/site/site.xml
+++ b/maven-scm-plugin/src/site/site.xml
@@ -19,59 +19,23 @@
   -->
 
 <project>
-  <skin>
-    <groupId>org.apache.maven.skins</groupId>
-    <artifactId>maven-stylus-skin</artifactId>
-    <version>1.0.1</version>
-  </skin>
-  <bannerLeft>
-    <name>Maven</name>
-    <src>http://maven.apache.org/maven2/images/apache-maven-project-2.png</src>
-    <href>http://maven.apache.org/</href>
-  </bannerLeft>
-  <bannerRight>
-    <src>http://maven.apache.org/maven2/images/maven-logo-2.gif</src>
-  </bannerRight>
   <body>
-    <links>
-      <item name="Apache" href="http://www.apache.org/"/>
-      <item name="Maven 1.x" href="http://maven.apache.org/maven-1.x"/>
-      <item name="Maven 2.x" href="http://maven.apache.org/"/>
-      <item name="SCM" href="http://maven.apache.org/scm"/>
-      <item name="Wagon" href="http://maven.apache.org/wagon"/>
-      <item name="JXR" href="http://maven.apache.org/jxr"/>
-      <item name="Doxia" href="http://maven.apache.org/doxia"/>
-    </links>
     <menu name="Overview">
       <item name="Introduction" href="index.html"/>
       <item name="Goals" href="plugin-info.html"/>
       <item name="Usage" href="usage.html"/>
       <!-- item name="FAQ" href="faq.html" / -->
+      <item name="Release Notes" href="jira-report.html"/>
     </menu>
+
     <menu name="Examples">
       <item name="Bootstrapping a Project Using a POM" href="examples/bootstrapping-with-pom.html"/>
       <item name="Other SCM Commands" href="examples/scm-advance-features.html"/>
     </menu>
+
     <menu name="Quick Links">
       <item name="Maven SCM Home" href="http://maven.apache.org/scm/"/>
-      <item name="Maven SCM Plugin" href="http://maven.apache.org/scm/plugins/index.html"/>
       <item name="SCM URL Format" href="http://maven.apache.org/scm/scm-url-format.html"/>
-      <item name="Supported SCMs" href="http://maven.apache.org/scm/scms-overview.html">
-        <item name="Bazaar" href="http://maven.apache.org/scm/bazaar.html"/>
-        <item name="Clearcase" href="http://maven.apache.org/scm/clearcase.html"/>
-        <item name="CM Synergy" href="http://maven.apache.org/scm/synergy.html"/>
-        <item name="CVS" href="http://maven.apache.org/scm/cvs.html"/>
-        <item name="Local" href="http://maven.apache.org/scm/local.html"/>
-        <item name="Perforce" href="http://maven.apache.org/scm/perforce.html"/>
-        <item name="StarTeam" href="http://maven.apache.org/scm/starteam.html"/>
-        <item name="Subversion" href="http://maven.apache.org/scm/subversion.html"/>
-        <item name="Visual Source Safe" href="http://maven.apache.org/scm/vss.html"/>
-      </item>
-      <item name="Guides" href="/guide/index.html" collapse="true">
-        <item name="How to use Maven-SCM in my application" href="http://maven.apache.org/scm/guide/usage.html"/>
-        <item name="How to write a new SCM provider" href="http://maven.apache.org/scm/guide/new_provider.html"/>
-      </item>
-      <item name="SCM providers Matrix" href="http://docs.codehaus.org/display/SCM/SCM+Matrix"/>
     </menu>
 
     <menu ref="reports"/>
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java
index 3fd563e..e4fb0bc 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -50,6 +51,13 @@
 
         FileUtils.forceDelete( repository );
 
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE
+                + "' is not a system command. Ignored setUp." );
+            return;
+        }
+
         SvnScmTestUtils.initializeRepository( repository );
 
         CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
@@ -69,6 +77,13 @@
     public void testBranch()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         BranchMojo mojo =
             (BranchMojo) lookupMojo( "branch", getTestFile( "src/test/resources/mojos/branch/branch.xml" ) );
         mojo.setWorkingDirectory( checkoutDir );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java
index e3f5b7c..a8f098d 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java
@@ -21,6 +21,7 @@
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -45,12 +46,26 @@
 
         FileUtils.forceDelete( repository );
 
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE
+                + "' is not a system command. Ignored setUp." );
+            return;
+        }
+
         SvnScmTestUtils.initializeRepository( repository );
     }
 
     public void testChangeLog()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         ChangeLogMojo mojo = (ChangeLogMojo) lookupMojo( "changelog", getTestFile(
             "src/test/resources/mojos/changelog/changelog.xml" ) );
 
@@ -67,6 +82,13 @@
     public void testChangeLogWithParameters()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         ChangeLogMojo mojo = (ChangeLogMojo) lookupMojo( "changelog", getTestFile(
             "src/test/resources/mojos/changelog/changelogWithParameters.xml" ) );
 
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
index 8473760..b09ee01 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
@@ -21,6 +21,7 @@
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -68,6 +69,13 @@
     public void testSkipCheckoutWithConnectionUrl()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         SvnScmTestUtils.initializeRepository( repository );
 
         CheckoutMojo mojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java
index c1123f2..7e97f0a 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java
@@ -20,6 +20,8 @@
  */
 
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 
 import java.io.File;
 
@@ -33,6 +35,13 @@
     public void testStatusMojo()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         StatusMojo mojo =
             (StatusMojo) lookupMojo( "status", getTestFile( "src/test/resources/mojos/status/status.xml" ) );
 
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java
index 34c3801..80fdb9c 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -50,6 +51,13 @@
 
         FileUtils.forceDelete( repository );
 
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE
+                + "' is not a system command. Ignored setUp." );
+            return;
+        }
+
         SvnScmTestUtils.initializeRepository( repository );
 
         CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
@@ -69,6 +77,13 @@
     public void testTag()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         TagMojo mojo = (TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/tag/tag.xml" ) );
         mojo.setWorkingDirectory( checkoutDir );
 
@@ -79,6 +94,13 @@
 
         mojo.execute();
 
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         CheckoutMojo checkoutMojo =
             (CheckoutMojo) lookupMojo( "checkout", getTestFile( "src/test/resources/mojos/tag/checkout.xml" ) );
         checkoutMojo.setWorkingDirectory( new File( getBasedir() ) );
@@ -103,6 +125,13 @@
     public void testTagWithTimestamp()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         TagMojo mojo =
             (TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/tag/tagWithTimestamp.xml" ) );
         mojo.setWorkingDirectory( checkoutDir );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java
index cf4fce8..25ca583 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java
@@ -20,6 +20,7 @@
  */
 
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -52,6 +53,13 @@
     public void testSkipCheckoutWithConnectionUrl()
         throws Exception
     {
+        if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE
+                + "' is not a system command. Ignored " + getName() + "." );
+            return;
+        }
+
         SvnScmTestUtils.initializeRepository( repository );
 
         CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
diff --git a/maven-scm-providers/maven-scm-provider-accurev/pom.xml b/maven-scm-providers/maven-scm-provider-accurev/pom.xml
index 90bebcb..7e82c17 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-accurev/pom.xml
@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
+
 <!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
@@ -17,43 +18,54 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
+
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
+
   <artifactId>maven-scm-provider-accurev</artifactId>
+
   <name>Maven SCM AccuRev Provider</name>
-  <version>1.1</version>
-  
+  <description>SCM Provider implementation for AccuRev (http://www.accurev.com/).</description>
+
+  <properties>
+    <test.accurev.username>test</test.accurev.username>
+    <test.accurev.password />
+    <test.accurev.host>localhost</test.accurev.host>
+    <test.accurev.port>5050</test.accurev.port>
+    <test.accurev.depot>TestDepot</test.accurev.depot>
+    <test.accurev.stream>TestStream</test.accurev.stream>
+  </properties>
+
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
-      <version>1.1</version>
+    </dependency>
+
+    <!-- Test -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
-  
+
   <build>
     <plugins>
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-maven-plugin</artifactId>
-        <version>1.3.4</version>
         <executions>
           <execution>
             <goals>
@@ -73,16 +85,7 @@
       </plugin>
     </plugins>
   </build>
-  
-  <properties>
-    <test.accurev.username>test</test.accurev.username>
-    <test.accurev.password />
-    <test.accurev.host>localhost</test.accurev.host>
-    <test.accurev.port>5050</test.accurev.port>
-    <test.accurev.depot>TestDepot</test.accurev.depot>
-    <test.accurev.stream>TestStream</test.accurev.stream>
-  </properties>   
-  
+
   <profiles>
     <profile>
       <id>TckTests</id>
@@ -131,6 +134,5 @@
         </plugins>
       </build>
     </profile>
-  </profiles>  
-    
+  </profiles>
 </project>
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProvider.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProvider.java
index ce35aa2..d8d7257 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProvider.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.CommandParameters;
@@ -38,284 +41,329 @@
 /**
  * Implementation of Accurev integration with Maven SCM
  *
+ * @version $Id$
  * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="accurev"
  */
-public class AccuRevScmProvider extends AbstractScmProvider {
-	private final String accurevExecutable;
+public class AccuRevScmProvider
+    extends AbstractScmProvider
+{
+    private final String accurevExecutable;
 
-	private AccuRevAddCommand addCommand;
-	private AccuRevLoginCommand loginCommand;
-	private BaseAccuRevCheckOutCommand[] checkOutCommands;
-	
-	private static final String CHECKOUT_METHOD_PARAM_NAME = "checkoutMethod";
-	private static final String CHECKOUT_METHOD_SYS_PROPERTY = "accurev.checkout.method";
+    private AccuRevAddCommand addCommand;
 
-	public AccuRevScmProvider() {
-		boolean isWindows = System.getProperty("os.name").toLowerCase()
-				.indexOf("windows") != -1;
-		this.accurevExecutable = resolveAccurevExecutable(isWindows);
-	}
+    private AccuRevLoginCommand loginCommand;
 
-	/**
-	 * @see AbstractScmProvider#getScmType()
-	 */
-	public String getScmType() {
-		return "accurev";
-	}
+    private BaseAccuRevCheckOutCommand[] checkOutCommands;
 
-	protected String getAccurevExecutable() {
-		return this.accurevExecutable;
-	}
+    private static final String CHECKOUT_METHOD_PARAM_NAME = "checkoutMethod";
 
-	/**
-	 * @see AbstractScmProvider#makeProviderScmRepository(String, char)
-	 */
-	public ScmProviderRepository makeProviderScmRepository(String scmSpecificUrl, char delimiter)
-			throws ScmRepositoryException {
-		AccuRevScmProviderRepository rep = new AccuRevScmProviderRepository();
+    private static final String CHECKOUT_METHOD_SYS_PROPERTY = "accurev.checkout.method";
 
-		int atSignIdx = scmSpecificUrl.indexOf('@');
-		if (atSignIdx != -1) {
-			//User, password, host and port are specified
-			String beforeAt = scmSpecificUrl.substring(0, atSignIdx);
-			String afterAt = scmSpecificUrl.substring(atSignIdx + 1);
+    public AccuRevScmProvider()
+    {
+        boolean isWindows = System.getProperty( "os.name" ).toLowerCase().indexOf( "windows" ) != -1;
+        this.accurevExecutable = resolveAccurevExecutable( isWindows );
+    }
 
-			LinkedList parts = splitString(beforeAt, delimiter, true);
-			if (parts.isEmpty()) {
-				throw new ScmRepositoryException("Username is required");
-			}
-			rep.setUser((String) parts.removeFirst());
-			if (!parts.isEmpty()) {
-				rep.setPassword((String) parts.removeFirst());
-			}
-			int hostEndIdx = afterAt.indexOf(delimiter);
-			if (hostEndIdx == -1) {
-				throw new ScmRepositoryException("Invalid SCM URL");
-			}
-			String host = afterAt.substring(0, hostEndIdx);
-			rep.setHost(host);
+    /** {@inheritDoc} */
+    public String getScmType()
+    {
+        return "accurev";
+    }
 
-			int idx = afterAt.indexOf(delimiter, hostEndIdx + 1);
-			if (idx == -1) {
-				throw new ScmRepositoryException("Invalid SCM URL");
-			}
-			String eitherPortOrNextToken = afterAt.substring(hostEndIdx + 1, idx);
-			try {
-				rep.setPort(Integer.parseInt(eitherPortOrNextToken));
-			} catch (NumberFormatException e) {
-				idx = hostEndIdx;
-			}
-			scmSpecificUrl = afterAt.substring(idx + 1);
-		}
-		int paramStartIdx = scmSpecificUrl.indexOf('?');
-		if (paramStartIdx != -1) {
-			String params = scmSpecificUrl.substring(paramStartIdx + 1);
-			scmSpecificUrl = scmSpecificUrl.substring(0, paramStartIdx);
-			processParams(params, rep);
+    protected String getAccurevExecutable()
+    {
+        return this.accurevExecutable;
+    }
 
-		}
-		processDepotStreamAndWorkspace(scmSpecificUrl, delimiter, rep);
+    /** {@inheritDoc} */
+    public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
+        throws ScmRepositoryException
+    {
+        AccuRevScmProviderRepository rep = new AccuRevScmProviderRepository();
 
-		String checkoutMethodParam = (String) rep.getParams().get(CHECKOUT_METHOD_PARAM_NAME);
-		if (StringUtils.isNotEmpty(checkoutMethodParam)) {
-			//Set checkout method from the SCM URL parameter
-			rep.setCheckoutMethod(checkoutMethodParam.trim());
-		}
-		if (rep.getCheckoutMethod() == null) {
-			//Get from system property or use "pop" by default
-			rep.setCheckoutMethod(System.getProperty(CHECKOUT_METHOD_SYS_PROPERTY, "pop"));
-		}
-		if (getLogger().isDebugEnabled()) {
-			getLogger().debug("Repository created: " + rep.toString());
-		}
-		return rep;
-	}
+        int atSignIdx = scmSpecificUrl.indexOf( '@' );
+        if ( atSignIdx != -1 )
+        {
+            //User, password, host and port are specified
+            String beforeAt = scmSpecificUrl.substring( 0, atSignIdx );
+            String afterAt = scmSpecificUrl.substring( atSignIdx + 1 );
 
-	private void processParams(String params, AccuRevScmProviderRepository rep) {
-		//Parse params
-		String[] paramKeyValuePairs = StringUtils.split(params, "&");
-		for (int i = 0; i < paramKeyValuePairs.length; i++) {
-			String keyValuePair = paramKeyValuePairs[i];
-			int delimiterIdx = keyValuePair.indexOf('=');
-			if (delimiterIdx == -1) {
-				getLogger().warn("Invalid parameter \"" + keyValuePair + "\" at position " + i);
-				continue;
-			}
-			String key = keyValuePair.substring(0, delimiterIdx);
-			String value = keyValuePair.substring(delimiterIdx + 1);
-			//Store parameter
-			rep.getParams().put(key, value);
-		}
-	}
+            LinkedList parts = splitString( beforeAt, delimiter, true );
+            if ( parts.isEmpty() )
+            {
+                throw new ScmRepositoryException( "Username is required" );
+            }
+            rep.setUser( (String) parts.removeFirst() );
+            if ( !parts.isEmpty() )
+            {
+                rep.setPassword( (String) parts.removeFirst() );
+            }
+            int hostEndIdx = afterAt.indexOf( delimiter );
+            if ( hostEndIdx == -1 )
+            {
+                throw new ScmRepositoryException( "Invalid SCM URL" );
+            }
+            String host = afterAt.substring( 0, hostEndIdx );
+            rep.setHost( host );
 
+            int idx = afterAt.indexOf( delimiter, hostEndIdx + 1 );
+            if ( idx == -1 )
+            {
+                throw new ScmRepositoryException( "Invalid SCM URL" );
+            }
+            String eitherPortOrNextToken = afterAt.substring( hostEndIdx + 1, idx );
+            try
+            {
+                rep.setPort( Integer.parseInt( eitherPortOrNextToken ) );
+            }
+            catch ( NumberFormatException e )
+            {
+                idx = hostEndIdx;
+            }
+            scmSpecificUrl = afterAt.substring( idx + 1 );
+        }
+        int paramStartIdx = scmSpecificUrl.indexOf( '?' );
+        if ( paramStartIdx != -1 )
+        {
+            String params = scmSpecificUrl.substring( paramStartIdx + 1 );
+            scmSpecificUrl = scmSpecificUrl.substring( 0, paramStartIdx );
+            processParams( params, rep );
 
-	/**
-	 * @see AbstractScmProvider#login(ScmProviderRepository, ScmFileSet, CommandParameters)
-	 */
-	protected LoginScmResult login(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
-			throws ScmException {
-		if (null == this.loginCommand) { //Lazy command instantiation
-			this.loginCommand = new AccuRevLoginCommand(this.accurevExecutable);
-			this.loginCommand.setLogger(getLogger());
-		}
-		return (LoginScmResult) this.loginCommand.execute(repository, fileSet, parameters);
-	}
+        }
+        processDepotStreamAndWorkspace( scmSpecificUrl, delimiter, rep );
 
-	/**
-	 * @see AbstractScmProvider#checkout(ScmProviderRepository, ScmFileSet, CommandParameters)
-	 */
-	protected CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet,
-										 CommandParameters parameters) throws ScmException {
+        String checkoutMethodParam = (String) rep.getParams().get( CHECKOUT_METHOD_PARAM_NAME );
+        if ( StringUtils.isNotEmpty( checkoutMethodParam ) )
+        {
+            //Set checkout method from the SCM URL parameter
+            rep.setCheckoutMethod( checkoutMethodParam.trim() );
+        }
+        if ( rep.getCheckoutMethod() == null )
+        {
+            //Get from system property or use "pop" by default
+            rep.setCheckoutMethod( System.getProperty( CHECKOUT_METHOD_SYS_PROPERTY, "pop" ) );
+        }
+        if ( getLogger().isDebugEnabled() )
+        {
+            getLogger().debug( "Repository created: " + rep.toString() );
+        }
+        return rep;
+    }
 
-		AccuRevScmProviderRepository rep = (AccuRevScmProviderRepository) repository;
-		getLogger().debug("accurev.checkout.method = " + rep.getCheckoutMethod());
-		BaseAccuRevCheckOutCommand[] checkOutCmds = getCheckoutCommands();
-		//Find check-out command that supports specified method
-		for (int i = 0; i < checkOutCmds.length; i++) {
-			BaseAccuRevCheckOutCommand checkOutCommand = checkOutCmds[i];
-			if (checkOutCommand.getMethodName().equalsIgnoreCase(rep.getCheckoutMethod())) {
-				return (CheckOutScmResult) checkOutCommand.execute(repository, fileSet, parameters);
-			}
-		}
-		throw new ScmRepositoryException("accurev.checkout.method=" + rep.getCheckoutMethod() + " is not supported");
-	}
+    private void processParams( String params, AccuRevScmProviderRepository rep )
+    {
+        //Parse params
+        String[] paramKeyValuePairs = StringUtils.split( params, "&" );
+        for ( int i = 0; i < paramKeyValuePairs.length; i++ )
+        {
+            String keyValuePair = paramKeyValuePairs[i];
+            int delimiterIdx = keyValuePair.indexOf( '=' );
+            if ( delimiterIdx == -1 )
+            {
+                getLogger().warn( "Invalid parameter \"" + keyValuePair + "\" at position " + i );
+                continue;
+            }
+            String key = keyValuePair.substring( 0, delimiterIdx );
+            String value = keyValuePair.substring( delimiterIdx + 1 );
+            //Store parameter
+            rep.getParams().put( key, value );
+        }
+    }
 
-	protected AddScmResult add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException {
-		//Lazy command creation
-		if (null == addCommand) {
-			addCommand = new AccuRevAddCommand(this.accurevExecutable);
-			addCommand.setLogger(getLogger());
-		}
-		return (AddScmResult) addCommand.execute(repository, fileSet, parameters);
-	}
+    /** {@inheritDoc} */
+    protected LoginScmResult login( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+        throws ScmException
+    {
+        if ( null == this.loginCommand )
+        { //Lazy command instantiation
+            this.loginCommand = new AccuRevLoginCommand( this.accurevExecutable );
+            this.loginCommand.setLogger( getLogger() );
+        }
+        return (LoginScmResult) this.loginCommand.execute( repository, fileSet, parameters );
+    }
 
-	private BaseAccuRevCheckOutCommand[] getCheckoutCommands() {
-		if (null == this.checkOutCommands) { //Lazy command instantiation
-			this.checkOutCommands = buildCheckOutCommands();
-		}
-		return this.checkOutCommands;
-	}
+    /** {@inheritDoc} */
+    protected CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
+                                          CommandParameters parameters )
+        throws ScmException
+    {
 
-	protected BaseAccuRevCheckOutCommand[] buildCheckOutCommands() {
-		BaseAccuRevCheckOutCommand[] commands = {
-				new AccuRevCheckOutUsingPopCommand(this.accurevExecutable),
-				new AccuRevCheckOutWorkspaceCommand(this.accurevExecutable)
-		};
-		for (int i = 0; i < commands.length; i++) {
-			BaseAccuRevCheckOutCommand command = commands[i];
-			command.setLogger(getLogger());
-		}
-		return commands;
-	}
+        AccuRevScmProviderRepository rep = (AccuRevScmProviderRepository) repository;
+        getLogger().debug( "accurev.checkout.method = " + rep.getCheckoutMethod() );
+        BaseAccuRevCheckOutCommand[] checkOutCmds = getCheckoutCommands();
+        //Find check-out command that supports specified method
+        for ( int i = 0; i < checkOutCmds.length; i++ )
+        {
+            BaseAccuRevCheckOutCommand checkOutCommand = checkOutCmds[i];
+            if ( checkOutCommand.getMethodName().equalsIgnoreCase( rep.getCheckoutMethod() ) )
+            {
+                return (CheckOutScmResult) checkOutCommand.execute( repository, fileSet, parameters );
+            }
+        }
+        throw new ScmRepositoryException( "accurev.checkout.method=" + rep.getCheckoutMethod() + " is not supported" );
+    }
 
-	/**
-	 * Append host (-H) parameter to the params list if the repository has this information
-	 *
-	 * @param repository AccuRevScmProviderRepository
-	 * @param params	 Parameters
-	 */
-	public static void appendHostToParamsIfNeeded(AccuRevScmProviderRepository repository, List params) {
-		if (repository.getHost() != null) {
-			params.add("-H");
-			params.add(repository.getHost() + ":" + String.valueOf(repository.getPort()));
-		}
-	}
+    /** {@inheritDoc} */
+    protected AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+        throws ScmException
+    {
+        //Lazy command creation
+        if ( null == addCommand )
+        {
+            addCommand = new AccuRevAddCommand( this.accurevExecutable );
+            addCommand.setLogger( getLogger() );
+        }
+        return (AddScmResult) addCommand.execute( repository, fileSet, parameters );
+    }
 
-	/**
-	 * Resolves accurev executable
-	 *
-	 * @param windows Is OS is windows
-	 * @return AccuRev executable
-	 * @throws IllegalStateException If the executable cannot be resolved
-	 */
-	private static String resolveAccurevExecutable(boolean windows) {
-		String executable = "accurev";
-		//Append ".exe" suffix if the OS is Windows
-		if (windows) {
-			executable += ".exe";
-		}
-		//Grab exeucutable from system variable if specified
-		String accurevExecutable = System.getProperty("accurevExecutable");
-		if (accurevExecutable != null) {
-			executable = accurevExecutable;
-		}
-		return executable;
-	}
+    private BaseAccuRevCheckOutCommand[] getCheckoutCommands()
+    {
+        if ( null == this.checkOutCommands )
+        { //Lazy command instantiation
+            this.checkOutCommands = buildCheckOutCommands();
+        }
+        return this.checkOutCommands;
+    }
 
-	/**
-	 * Split the given string with separator char
-	 *
-	 * @param string		String to be splitted
-	 * @param separatorChar separator char
-	 * @param blankIsNull   If the parameter is true then if the substring is blank then it will be considered as null
-	 * @return Linked list which contains strings
-	 */
-	private static LinkedList splitString(String string, char separatorChar, boolean blankIsNull) {
-		LinkedList parts = new LinkedList();
-		int fromIdx = 0;
-		for (int idx; (idx = string.indexOf(separatorChar, fromIdx)) != -1; fromIdx = ++idx) {
-			parts.add(getSubstring(string, fromIdx, idx, blankIsNull));
-		}
-		//Add last token
-		parts.add(getSubstring(string, fromIdx, string.length(), blankIsNull));
-		return parts;
-	}
+    protected BaseAccuRevCheckOutCommand[] buildCheckOutCommands()
+    {
+        BaseAccuRevCheckOutCommand[] commands = {
+            new AccuRevCheckOutUsingPopCommand( this.accurevExecutable ),
+            new AccuRevCheckOutWorkspaceCommand( this.accurevExecutable ) };
+        for ( int i = 0; i < commands.length; i++ )
+        {
+            BaseAccuRevCheckOutCommand command = commands[i];
+            command.setLogger( getLogger() );
+        }
+        return commands;
+    }
 
-	/**
-	 * Get substring from string
-	 *
-	 * @param string	  source string
-	 * @param fromIdx	 from index
-	 * @param toIdx	   to index
-	 * @param blankIsNull If the parameter is true then if the substring is blank then null will be returned
-	 * @return Substring or the null if the substring is empty and the blankIsNull parameter is true
-	 * @see String#substring(int,int)
-	 * @see StringUtils#isBlank(String)
-	 */
-	private static String getSubstring(String string, int fromIdx, int toIdx, boolean blankIsNull) {
-		String substring = string.substring(fromIdx, toIdx);
-		return (blankIsNull && StringUtils.isEmpty(substring)) ? null : substring;
-	}
+    /**
+     * Append host (-H) parameter to the params list if the repository has this information
+     *
+     * @param repository AccuRevScmProviderRepository
+     * @param params     Parameters
+     */
+    public static void appendHostToParamsIfNeeded( AccuRevScmProviderRepository repository, List params )
+    {
+        if ( repository.getHost() != null )
+        {
+            params.add( "-H" );
+            params.add( repository.getHost() + ":" + String.valueOf( repository.getPort() ) );
+        }
+    }
 
-	/**
-	 * Process depot, stream and workspace from the given string
-	 *
-	 * @param depotStreamWorkspace String that contains depot, stream and workspace name information
-	 * @param delimeter			Delimeter char
-	 * @param repRef			   AccuRevScmProviderRepository reference where the information will be stored
-	 * @throws ScmRepositoryException If there was a validation error while processing the URL
-	 */
-	private void processDepotStreamAndWorkspace(final String depotStreamWorkspace,
-												final char delimeter,
-												final AccuRevScmProviderRepository repRef)
-			throws ScmRepositoryException {
-		LinkedList parts = splitString(depotStreamWorkspace, delimeter, true);
-		if (parts.size() < 2) {
-			throw new ScmRepositoryException("Invalid scmUrl. Depot and stream names are required");
-		}
-		//Set depot
-		String depot = (String) parts.removeFirst();
-		if (null == depot) throw new ScmRepositoryException("Depot name is missing");
-		repRef.setDepot(depot);
+    /**
+     * Resolves accurev executable
+     *
+     * @param windows Is OS is windows
+     * @return AccuRev executable
+     * @throws IllegalStateException If the executable cannot be resolved
+     */
+    private static String resolveAccurevExecutable( boolean windows )
+    {
+        String executable = "accurev";
+        //Append ".exe" suffix if the OS is Windows
+        if ( windows )
+        {
+            executable += ".exe";
+        }
+        //Grab exeucutable from system variable if specified
+        String accurevExecutable = System.getProperty( "accurevExecutable" );
+        if ( accurevExecutable != null )
+        {
+            executable = accurevExecutable;
+        }
+        return executable;
+    }
 
-		//Set stream
-		String streamName = (String) parts.removeFirst();
-		if (null == streamName) throw new ScmRepositoryException("Stream name is missing");
-		repRef.setStreamName(streamName);
+    /**
+     * Split the given string with separator char
+     *
+     * @param string        String to be splitted
+     * @param separatorChar separator char
+     * @param blankIsNull   If the parameter is true then if the substring is blank then it will be considered as null
+     * @return Linked list which contains strings
+     */
+    private static LinkedList splitString( String string, char separatorChar, boolean blankIsNull )
+    {
+        LinkedList parts = new LinkedList();
+        int fromIdx = 0;
+        for ( int idx; ( idx = string.indexOf( separatorChar, fromIdx ) ) != -1; fromIdx = ++idx )
+        {
+            parts.add( getSubstring( string, fromIdx, idx, blankIsNull ) );
+        }
+        //Add last token
+        parts.add( getSubstring( string, fromIdx, string.length(), blankIsNull ) );
+        return parts;
+    }
 
-		//Set workspace if specified
-		if (!parts.isEmpty()) {
-			repRef.setWorkspaceName((String) parts.removeFirst());
-		}
+    /**
+     * Get substring from string
+     *
+     * @param string      source string
+     * @param fromIdx     from index
+     * @param toIdx       to index
+     * @param blankIsNull If the parameter is true then if the substring is blank then null will be returned
+     * @return Substring or the null if the substring is empty and the blankIsNull parameter is true
+     * @see String#substring(int,int)
+     * @see StringUtils#isBlank(String)
+     */
+    private static String getSubstring( String string, int fromIdx, int toIdx, boolean blankIsNull )
+    {
+        String substring = string.substring( fromIdx, toIdx );
+        return ( blankIsNull && StringUtils.isEmpty( substring ) ) ? null : substring;
+    }
 
-		if (!parts.isEmpty()) {
-			throw new ScmRepositoryException("Invalid workspace assosiation path: " +
-					depotStreamWorkspace + ". Should be in format \"<depot>" + delimeter +
-					"<stream>" + delimeter + "<workspace>\"");
-		}
-		if (repRef.getWorkspaceName() == null) {
-			//TODO Use 'accurev show wspaces' to resolve the workspace name by the workspace path
-		}
-	}
+    /**
+     * Process depot, stream and workspace from the given string
+     *
+     * @param depotStreamWorkspace String that contains depot, stream and workspace name information
+     * @param delimeter            Delimeter char
+     * @param repRef               AccuRevScmProviderRepository reference where the information will be stored
+     * @throws ScmRepositoryException If there was a validation error while processing the URL
+     */
+    private void processDepotStreamAndWorkspace( final String depotStreamWorkspace, final char delimeter,
+                                                 final AccuRevScmProviderRepository repRef )
+        throws ScmRepositoryException
+    {
+        LinkedList parts = splitString( depotStreamWorkspace, delimeter, true );
+        if ( parts.size() < 2 )
+        {
+            throw new ScmRepositoryException( "Invalid scmUrl. Depot and stream names are required" );
+        }
+        //Set depot
+        String depot = (String) parts.removeFirst();
+        if ( null == depot )
+        {
+            throw new ScmRepositoryException( "Depot name is missing" );
+        }
+        repRef.setDepot( depot );
+
+        //Set stream
+        String streamName = (String) parts.removeFirst();
+        if ( null == streamName )
+        {
+            throw new ScmRepositoryException( "Stream name is missing" );
+        }
+        repRef.setStreamName( streamName );
+
+        //Set workspace if specified
+        if ( !parts.isEmpty() )
+        {
+            repRef.setWorkspaceName( (String) parts.removeFirst() );
+        }
+
+        if ( !parts.isEmpty() )
+        {
+            throw new ScmRepositoryException( "Invalid workspace assosiation path: " + depotStreamWorkspace
+                + ". Should be in format \"<depot>" + delimeter + "<stream>" + delimeter + "<workspace>\"" );
+        }
+        if ( repRef.getWorkspaceName() == null )
+        {
+            //TODO Use 'accurev show wspaces' to resolve the workspace name by the workspace path
+        }
+    }
 
 }
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProviderRepository.java
index d565be9..081d39b 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevScmProviderRepository.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.ScmProviderRepository;
@@ -21,88 +24,104 @@
 import java.util.Map;
 import java.util.HashMap;
 
-public class AccuRevScmProviderRepository extends ScmProviderRepository {
-	public static final int DEFAULT_PORT = 5050;
+/**
+ * @version $Id$
+ */
+public class AccuRevScmProviderRepository
+    extends ScmProviderRepository
+{
+    public static final int DEFAULT_PORT = 5050;
 
-	private String depot;
+    private String depot;
 
-	private String streamName;
+    private String streamName;
 
-	private String workspaceName;
+    private String workspaceName;
 
-	private String host;
+    private String host;
 
-	private int port = DEFAULT_PORT;
+    private int port = DEFAULT_PORT;
 
-	private String checkoutMethod;
+    private String checkoutMethod;
 
-	private Map params = new HashMap();
+    private Map params = new HashMap();
 
-	public String getDepot() {
-		return depot;
-	}
+    public String getDepot()
+    {
+        return depot;
+    }
 
-	public void setDepot(String depot) {
-		this.depot = depot;
-	}
+    public void setDepot( String depot )
+    {
+        this.depot = depot;
+    }
 
-	public String getStreamName() {
-		return streamName;
-	}
+    public String getStreamName()
+    {
+        return streamName;
+    }
 
-	public void setStreamName(String streamName) {
-		this.streamName = streamName;
-	}
+    public void setStreamName( String streamName )
+    {
+        this.streamName = streamName;
+    }
 
-	public String getWorkspaceName() {
-		return workspaceName;
-	}
+    public String getWorkspaceName()
+    {
+        return workspaceName;
+    }
 
-	public void setWorkspaceName(String workspaceName) {
-		this.workspaceName = workspaceName;
-	}
+    public void setWorkspaceName( String workspaceName )
+    {
+        this.workspaceName = workspaceName;
+    }
 
-	public String getHost() {
-		return host;
-	}
+    public String getHost()
+    {
+        return host;
+    }
 
-	public void setHost(String host) {
-		this.host = host;
-	}
+    public void setHost( String host )
+    {
+        this.host = host;
+    }
 
-	public int getPort() {
-		return port;
-	}
+    public int getPort()
+    {
+        return port;
+    }
 
-	public void setPort(int port) {
-		this.port = port;
-	}
+    public void setPort( int port )
+    {
+        this.port = port;
+    }
 
-	public String getCheckoutMethod() {
-		return checkoutMethod;
-	}
+    public String getCheckoutMethod()
+    {
+        return checkoutMethod;
+    }
 
-	public void setCheckoutMethod(String checkoutMethod) {
-		this.checkoutMethod = checkoutMethod;
-	}
+    public void setCheckoutMethod( String checkoutMethod )
+    {
+        this.checkoutMethod = checkoutMethod;
+    }
 
-	public Map getParams() {
-		return params;
-	}
+    public Map getParams()
+    {
+        return params;
+    }
 
-	public void setParams(Map params) {
-		this.params = params;
-	}
+    public void setParams( Map params )
+    {
+        this.params = params;
+    }
 
-	public String toString() {
-		return new StringBuffer()
-				.append("host:").append(this.host)
-				.append(", port:").append(this.port)
-				.append(", depot:").append(this.depot)
-				.append(", streamName:").append(this.streamName)
-				.append(", workspaceName:").append(this.workspaceName)
-				.append(", checkoutMethod:").append(this.checkoutMethod)
-				.append(", params:").append(this.params)
-				.toString();
-	}
+    /** {@inheritDoc} */
+    public String toString()
+    {
+        return new StringBuffer().append( "host:" ).append( this.host ).append( ", port:" ).append( this.port )
+            .append( ", depot:" ).append( this.depot ).append( ", streamName:" ).append( this.streamName )
+            .append( ", workspaceName:" ).append( this.workspaceName ).append( ", checkoutMethod:" )
+            .append( this.checkoutMethod ).append( ", params:" ).append( this.params ).toString();
+    }
 }
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AccuRevAddCommand.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AccuRevAddCommand.java
index fad52d9..c573688 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AccuRevAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AccuRevAddCommand.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev.commands.add;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.command.add.AbstractAddCommand;
@@ -33,20 +36,24 @@
 import java.util.List;
 import java.io.File;
 
+/**
+ * @version $Id$
+ */
 public class AccuRevAddCommand extends AbstractAddCommand
 {
-    private final String _accurevExecutable;
+    private final String accurevExecutable;
 
-    public AccuRevAddCommand( String accurevExecutable )
+    public AccuRevAddCommand( String accurevExec )
     {
-        _accurevExecutable = accurevExecutable;
+        accurevExecutable = accurevExec;
     }
 
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                            String message, boolean binary ) throws ScmException
     {
         Commandline cl = new Commandline();
-        cl.setExecutable( _accurevExecutable );
+        cl.setExecutable( accurevExecutable );
         cl.setWorkingDirectory( fileSet.getBasedir().getPath() );
         cl.addArguments( new String[]{"add"} );
         ArrayList params = new ArrayList();
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AddCommandStreamConsumer.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AddCommandStreamConsumer.java
index d41fed5..e568cc7 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AddCommandStreamConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/add/AddCommandStreamConsumer.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev.commands.add;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.codehaus.plexus.util.cli.StreamConsumer;
@@ -22,12 +25,18 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-/** Stream consumer for collecting files that were added with the add command */
-class AddCommandStreamConsumer implements StreamConsumer
+/**
+ * Stream consumer for collecting files that were added with the add command
+ *
+ * @version $Id$
+ */
+class AddCommandStreamConsumer
+    implements StreamConsumer
 {
-    private final static Pattern pattern = Pattern.compile( "Added and kept element\\s*(.*)" );
+    private static final Pattern PATTERN = Pattern.compile( "Added and kept element\\s*(.*)" );
 
     private final StreamConsumer stdout;
+
     private final List filesAdded;
 
     /**
@@ -40,15 +49,16 @@
         this.filesAdded = filesAdded;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         stdout.consumeLine( line );
 
-        Matcher m = pattern.matcher( line );
+        Matcher m = PATTERN.matcher( line );
         if ( m.matches() )
         {
             String element = m.group( 1 );
             this.filesAdded.add( element );
         }
-	}
+    }
 }
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutUsingPopCommand.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutUsingPopCommand.java
index a08d180..6989618 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutUsingPopCommand.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutUsingPopCommand.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev.commands.checkout;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.ScmException;
@@ -36,7 +39,12 @@
 import java.util.regex.Pattern;
 import java.util.regex.Matcher;
 
-public class AccuRevCheckOutUsingPopCommand extends AbstractCheckOutCommand implements BaseAccuRevCheckOutCommand
+/**
+ * @version $Id$
+ */
+public class AccuRevCheckOutUsingPopCommand
+    extends AbstractCheckOutCommand
+    implements BaseAccuRevCheckOutCommand
 {
     private String accuRevExecutable;
 
@@ -45,13 +53,16 @@
         this.accuRevExecutable = executable;
     }
 
+    /** {@inheritDoc} */
     public String getMethodName()
     {
         return "pop";
     }
 
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                        ScmVersion version ) throws ScmException
+                                                        ScmVersion version )
+        throws ScmException
     {
         try
         {
@@ -87,13 +98,14 @@
             //Check if the update command successeed
             if ( exitCode != 0 )
             {
-                return new CheckOutScmResult( popCommandline.toString(),
-                    "The AccuRev command failed", stdout.getOutput(), false );
+                return new CheckOutScmResult( popCommandline.toString(), "The AccuRev command failed", stdout
+                    .getOutput(), false );
             }
             if ( getLogger().isInfoEnabled() )
             {
-                getLogger().info( "Checked out stream \"" + accurevRepository.getStreamName() +
-                    "\" contents to folder " + fileSet.getBasedir() );
+                getLogger().info(
+                                  "Checked out stream \"" + accurevRepository.getStreamName()
+                                      + "\" contents to folder " + fileSet.getBasedir() );
                 //TODO notify user that the checked files are not in workspace and no changes can be propagated to SCM
             }
             return new CheckOutScmResult( popCommandline.toString(), checkedFiles );
@@ -104,8 +116,8 @@
         }
     }
 
-    protected Commandline createPopStreamCommand( AccuRevScmProviderRepository repository,
-                                                  ScmFileSet fileSet, ScmVersion version )
+    protected Commandline createPopStreamCommand( AccuRevScmProviderRepository repository, ScmFileSet fileSet,
+                                                  ScmVersion version )
     {
         //TODO Implement support of fileSet, version if applyable
         Commandline commandline = new Commandline();
@@ -118,9 +130,9 @@
         //Set command parameters
         commandline.addArguments( (String[]) params.toArray( new String[params.size()] ) );
         //Append command parameters
-        commandline.addArguments( new String[]{
-            "-v", repository.getStreamName(), //name of the stream
-            "-L", fileSet.getBasedir().getAbsolutePath(), //into folder
+        commandline.addArguments( new String[] { "-v", repository.getStreamName(), //name of the stream
+            "-L",
+            fileSet.getBasedir().getAbsolutePath(), //into folder
             "-R" //get files recursively
         } );
         List fileSetArguments = new ArrayList();
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutWorkspaceCommand.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutWorkspaceCommand.java
index 5aae357..10f8cd5 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutWorkspaceCommand.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevCheckOutWorkspaceCommand.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev.commands.checkout;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.ScmException;
@@ -34,7 +37,12 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-public class AccuRevCheckOutWorkspaceCommand extends AbstractCheckOutCommand implements BaseAccuRevCheckOutCommand
+/**
+ * @version $Id$
+ */
+public class AccuRevCheckOutWorkspaceCommand
+    extends AbstractCheckOutCommand
+    implements BaseAccuRevCheckOutCommand
 {
     private String accuRevExecutable;
 
@@ -43,13 +51,16 @@
         this.accuRevExecutable = executable;
     }
 
+    /** {@inheritDoc} */
     public String getMethodName()
     {
         return "mkws";
     }
 
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
-                                                        ScmVersion version ) throws ScmException
+                                                        ScmVersion version )
+        throws ScmException
     {
         try
         {
@@ -70,8 +81,8 @@
             if ( exitCode != 0 )
             {
                 return new CheckOutScmResult( makeCommandline.toString(),
-                    "The AccuRev command failed. Cannot create workspace: " +
-                        stdout.getOutput(), stdout.getOutput(), false );
+                                              "The AccuRev command failed. Cannot create workspace: "
+                                                  + stdout.getOutput(), stdout.getOutput(), false );
             }
             //Update the workspace
             Commandline updateCommandline = createUpdateWorkspaceCommand( accurevRepository, fileSet, version );
@@ -97,10 +108,11 @@
             if ( exitCode != 0 )
             {
                 return new CheckOutScmResult( updateCommandline.toString(),
-                    "The AccuRev command failed. Cannot update workspace", stdout.getOutput(), false );
+                                              "The AccuRev command failed. Cannot update workspace",
+                                              stdout.getOutput(), false );
             }
             return new CheckOutScmResult( makeCommandline.toString() + " & " + updateCommandline.toString(),
-                checkedFiles );
+                                          checkedFiles );
         }
         catch ( CommandLineException e )
         {
@@ -108,8 +120,8 @@
         }
     }
 
-    protected Commandline createUpdateWorkspaceCommand( AccuRevScmProviderRepository repository,
-                                                        ScmFileSet fileSet, ScmVersion version )
+    protected Commandline createUpdateWorkspaceCommand( AccuRevScmProviderRepository repository, ScmFileSet fileSet,
+                                                        ScmVersion version )
     {
         //TODO Implement support of fileSet, version if applyable
         Commandline commandline = new Commandline();
@@ -127,24 +139,26 @@
         return commandline;
     }
 
-    protected Commandline createMakeWorkspaceCommandLine( AccuRevScmProviderRepository repository,
-                                                          ScmFileSet fileSet, ScmVersion version )
+    protected Commandline createMakeWorkspaceCommandLine( AccuRevScmProviderRepository repository, ScmFileSet fileSet,
+                                                          ScmVersion version )
     {
         //TODO Implement support of fileSet, version if applyable
         Commandline cmd = new Commandline();
         cmd.setExecutable( this.accuRevExecutable );
         //Append command name
-        cmd.addArguments( new String[]{"mkws"} );
+        cmd.addArguments( new String[] { "mkws" } );
         //Append host param if needed
         List params = new ArrayList();
         AccuRevScmProvider.appendHostToParamsIfNeeded( repository, params );
         cmd.addArguments( (String[]) params.toArray( new String[params.size()] ) );
         //Append command arguments
-        cmd.addArguments( new String[]{
-            "-w", repository.getWorkspaceName(),
-            "-b", repository.getStreamName(),
-            "-l", fileSet.getBasedir().getAbsolutePath()
-        } );
+        cmd.addArguments( new String[] {
+            "-w",
+            repository.getWorkspaceName(),
+            "-b",
+            repository.getStreamName(),
+            "-l",
+            fileSet.getBasedir().getAbsolutePath() } );
         return cmd;
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/BaseAccuRevCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/BaseAccuRevCheckOutCommand.java
index 94dcd59..d070d66 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/BaseAccuRevCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/checkout/BaseAccuRevCheckOutCommand.java
@@ -1,23 +1,29 @@
 package org.apache.maven.scm.provider.accurev.commands.checkout;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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.command.Command;
 
+/**
+ * @version $Id$
+ */
 public interface BaseAccuRevCheckOutCommand extends Command
 {
     String getMethodName();
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/login/AccuRevLoginCommand.java b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/login/AccuRevLoginCommand.java
index 6559f1b..11abcb3 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/login/AccuRevLoginCommand.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/commands/login/AccuRevLoginCommand.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev.commands.login;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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 java.util.ArrayList;
@@ -31,6 +34,9 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
+/**
+ * @version $Id$
+ */
 public class AccuRevLoginCommand extends AbstractLoginCommand
 {
     private String executable;
@@ -40,6 +46,7 @@
         this.executable = executable;
     }
 
+    /** {@inheritDoc} */
     public LoginScmResult executeLoginCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                CommandParameters parameters ) throws ScmException
     {
@@ -96,5 +103,5 @@
         //Set arguments to command line
         cl.addArguments( (String[]) params.toArray( new String[params.size()] ) );
         return cl;
-	}
+    }
 }
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/site/site.xml b/maven-scm-providers/maven-scm-provider-accurev/src/site/site.xml
new file mode 100644
index 0000000..2d850cd
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Accurev Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/AccurevScmProviderTest.java b/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/AccurevScmProviderTest.java
index 57b4c1a..48d5688 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/AccurevScmProviderTest.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/AccurevScmProviderTest.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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 junit.framework.TestCase;
diff --git a/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevScmTckTestCase.java b/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevScmTckTestCase.java
index 44be02b..5a80ea9 100644
--- a/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevScmTckTestCase.java
+++ b/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/commands/checkout/AccuRevScmTckTestCase.java
@@ -1,19 +1,22 @@
 package org.apache.maven.scm.provider.accurev.commands.checkout;
 
 /*
- * Copyright 2008 AccuRev Inc.
+ * 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
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
- * 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.
+ * 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 java.io.File;
@@ -82,26 +85,26 @@
 
     public String getScmUrl( String workspaceName, String checkoutMethod ) throws Exception
     {
-    	// return StringUtils.join( new String[]{
-    	//            "scm", "accurev", username, password + "@" + host, String.valueOf( port ), depot, stream, workspaceName
-    	//        }, ':' ) + "?checkoutMethod=" + checkoutMethod;
-    	return new StringBuffer("scm:accurev:") //
-				.append(username) //
-				.append(':') //
-				.append(password) //
-				.append('@') //
-				.append(host) //
-				.append(':') //
-				.append(String.valueOf(port)) //
-				.append(':') //
-				.append(depot) //
-				.append(':') //
-				.append(stream) //
-				.append(':') //
-				.append(workspaceName) //
-				.append("?checkoutMethod=") //
-				.append(checkoutMethod) //
-				.toString();
+        // return StringUtils.join( new String[]{
+        //            "scm", "accurev", username, password + "@" + host, String.valueOf( port ), depot, stream, workspaceName
+        //        }, ':' ) + "?checkoutMethod=" + checkoutMethod;
+        return new StringBuffer("scm:accurev:") //
+                .append(username) //
+                .append(':') //
+                .append(password) //
+                .append('@') //
+                .append(host) //
+                .append(':') //
+                .append(String.valueOf(port)) //
+                .append(':') //
+                .append(depot) //
+                .append(':') //
+                .append(stream) //
+                .append(':') //
+                .append(workspaceName) //
+                .append("?checkoutMethod=") //
+                .append(checkoutMethod) //
+                .toString();
     }
 
     public String getScmUrl() throws Exception
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/pom.xml b/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
index edb809d..208262c 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-bazaar/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,21 +20,26 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-bazaar</artifactId>
+
   <name>Maven SCM Bazaar Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for Bazaar (http://bazaar-vcs.org/).</description>
+
   <dependencies>
     <dependency>
       <groupId>regexp</groupId>
       <artifactId>regexp</artifactId>
     </dependency>
   </dependencies>
+
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarConfig.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarConfig.java
index 6dff1bf..4efcbe4 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarConfig.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarConfig.java
@@ -22,7 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.DefaultLog;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.apache.maven.scm.provider.bazaar.command.BazaarConsumer;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -33,7 +33,8 @@
 /**
  * Check bazaar installation.
  *
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarConfig
 {
@@ -127,7 +128,7 @@
     public static VersionConsumer getBazaarVersion( File workingDir )
         throws ScmException
     {
-        String[] versionCmd = new String[]{BazaarCommand.VERSION};
+        String[] versionCmd = new String[]{BazaarConstants.VERSION};
         VersionConsumer consumer = new VersionConsumer( BAZAAR_VERSION_TAG );
         Commandline cmd = BazaarUtils.buildCmd( workingDir, versionCmd );
 
@@ -180,25 +181,25 @@
         extends BazaarConsumer
     {
 
-        private static Pattern VERSION_PATTERN = Pattern.compile( "[\\d]+.?[\\d]*" );
+        private static final Pattern VERSION_PATTERN = Pattern.compile( "[\\d]+.?[\\d]*" );
 
-        private final String version_tag;
+        private final String versionTag;
 
         private String versionStr = "NA";
 
         private float version = -1;
 
-        VersionConsumer( String version_tag )
+        VersionConsumer( String aVersionTag )
         {
             super( new DefaultLog() );
-            this.version_tag = version_tag;
+            this.versionTag = aVersionTag;
         }
 
         public void doConsume( ScmFileStatus status, String line )
         {
-            if ( line.startsWith( version_tag ) )
+            if ( line.startsWith( versionTag ) )
             {
-                versionStr = line.substring( version_tag.length() );
+                versionStr = line.substring( versionTag.length() );
             }
         }
 
@@ -266,11 +267,11 @@
     {
         boolean bzrOk = bazaarVersion.isVersionOk( BAZAAR_REQ );
         boolean pyOk = pythonVersion.isVersionOk( PYTHON_REQ );
-        return "\n  Your Bazaar installation seems to be " + getInstalledStr() + "\n    Python version: " +
-            pythonVersion.getVersion() + ( pyOk ? " (OK)" : " (May be INVALID)" ) + "\n    Bazaar version: " +
-            bazaarVersion.getVersion() + ( bzrOk ? " (OK)" : " (May be INVALID)" ) + "\n    Paramiko installed: " +
-            paramiko + " (For remote access eg. sftp) " + "\n    cCrypt installed: " + cCrypt +
-            " (For remote access eg. sftp) " + "\n    cElementTree installed: " + cElementTree + " (Not mandatory) " +
-            "\n";
+        return "\n  Your Bazaar installation seems to be " + getInstalledStr() + "\n    Python version: "
+            + pythonVersion.getVersion() + ( pyOk ? " (OK)" : " (May be INVALID)" ) + "\n    Bazaar version: "
+            + bazaarVersion.getVersion() + ( bzrOk ? " (OK)" : " (May be INVALID)" ) + "\n    Paramiko installed: "
+            + paramiko + " (For remote access eg. sftp) " + "\n    cCrypt installed: " + cCrypt
+            + " (For remote access eg. sftp) " + "\n    cElementTree installed: " + cElementTree + " (Not mandatory) "
+            + "\n";
     }
 }
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java
index 44ba428..aae4ee3 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java
@@ -33,7 +33,7 @@
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.provider.AbstractScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.apache.maven.scm.provider.bazaar.command.add.BazaarAddCommand;
 import org.apache.maven.scm.provider.bazaar.command.changelog.BazaarChangeLogCommand;
 import org.apache.maven.scm.provider.bazaar.command.checkin.BazaarCheckInCommand;
@@ -53,26 +53,27 @@
 /**
  * Bazaar NG http://bazaar-vcs.org/ is a decentralized revision control system. <br>
  *
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="bazaar"
  */
 public class BazaarScmProvider
     extends AbstractScmProvider
 {
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return ".bzr";
     }
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
         return new BazaarScmProviderRepository( scmSpecificUrl );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#makeProviderScmRepository(java.io.File)
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
@@ -91,12 +92,13 @@
         return makeProviderScmRepository( "file:///" + path.getAbsolutePath(), ':' );
     }
 
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
 
         List errorMessages = new ArrayList();
 
-        String[] checkCmd = new String[]{BazaarCommand.CHECK, scmSpecificUrl};
+        String[] checkCmd = new String[]{BazaarConstants.CHECK, scmSpecificUrl};
         ScmResult result;
         try
         {
@@ -116,14 +118,13 @@
         return errorMessages;
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "bazaar";
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -134,9 +135,7 @@
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -148,9 +147,7 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -162,9 +159,7 @@
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -176,9 +171,7 @@
         return (CheckOutScmResult) 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)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -189,9 +182,7 @@
         return (DiffScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -202,9 +193,7 @@
         return (RemoveScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -215,9 +204,7 @@
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarUtils.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarUtils.java
index 7efe148..8535085 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarUtils.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarUtils.java
@@ -25,7 +25,7 @@
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.log.DefaultLog;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.apache.maven.scm.provider.bazaar.command.BazaarConsumer;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
@@ -40,31 +40,32 @@
 /**
  * Common code for executing bazaar commands.
  *
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarUtils
 {
     /**
      * Map between command and its valid exit codes
      */
-    private static final Map exitCodeMap = new HashMap();
+    private static final Map EXITCODEMAP = new HashMap();
 
     /**
      * Default exit codes for entries not in exitCodeMap
      */
-    private static final List defaultExitCodes = new ArrayList();
+    private static final List DEFAULTEEXITCODES = new ArrayList();
 
     /** Setup exit codes*/
     static
     {
-        defaultExitCodes.add( new Integer( 0 ) );
+        DEFAULTEEXITCODES.add( new Integer( 0 ) );
 
         //Diff is different
         List diffExitCodes = new ArrayList();
         diffExitCodes.add( new Integer( 0 ) ); //No difference
         diffExitCodes.add( new Integer( 1 ) ); //Conflicts in merge-like or changes in diff-like
         diffExitCodes.add( new Integer( 2 ) ); //Unrepresentable diff changes
-        exitCodeMap.put( BazaarCommand.DIFF_CMD, diffExitCodes );
+        EXITCODEMAP.put( BazaarConstants.DIFF_CMD, diffExitCodes );
     }
 
     public static ScmResult execute( BazaarConsumer consumer, ScmLogger logger, File workingDir, String[] cmdAndArgs )
@@ -80,10 +81,10 @@
             int exitCode = executeCmd( consumer, cmd );
 
             //Return result
-            List exitCodes = defaultExitCodes;
-            if ( exitCodeMap.containsKey( cmdAndArgs[0] ) )
+            List exitCodes = DEFAULTEEXITCODES;
+            if ( EXITCODEMAP.containsKey( cmdAndArgs[0] ) )
             {
-                exitCodes = (List) exitCodeMap.get( cmdAndArgs[0] );
+                exitCodes = (List) EXITCODEMAP.get( cmdAndArgs[0] );
             }
             boolean success = exitCodes.contains( new Integer( exitCode ) );
 
@@ -92,9 +93,9 @@
             if ( !success )
             {
                 BazaarConfig config = new BazaarConfig( workingDir );
-                providerMsg = "\nEXECUTION FAILED" + "\n  Execution of cmd : " + cmdAndArgs[0] +
-                    " failed with exit code: " + exitCode + "." + "\n  Working directory was: " + "\n    " +
-                    workingDir.getAbsolutePath() + config.toString( workingDir ) + "\n";
+                providerMsg = "\nEXECUTION FAILED" + "\n  Execution of cmd : " + cmdAndArgs[0]
+                    + " failed with exit code: " + exitCode + "." + "\n  Working directory was: " + "\n    "
+                    + workingDir.getAbsolutePath() + config.toString( workingDir ) + "\n";
                 logger.error( providerMsg );
             }
 
@@ -102,8 +103,9 @@
         }
         catch ( ScmException se )
         {
-            String msg = "EXECUTION FAILED" +
-                "\n  Execution failed before invoking the Bazaar command. Last exception:" + "\n    " + se.getMessage();
+            String msg =
+                "EXECUTION FAILED\n  Execution failed before invoking the Bazaar command. Last exception:"
+                    + "\n    " + se.getMessage();
 
             //Add nested cause if any
             if ( se.getCause() != null )
@@ -121,7 +123,7 @@
         throws ScmException
     {
         Commandline cmd = new Commandline();
-        cmd.setExecutable( BazaarCommand.EXEC );
+        cmd.setExecutable( BazaarConstants.EXEC );
         cmd.setWorkingDirectory( workingDir.getAbsolutePath() );
         cmd.addArguments( cmdAndArgs );
 
@@ -181,7 +183,7 @@
         throws ScmException
     {
 
-        String[] revCmd = new String[]{BazaarCommand.REVNO_CMD};
+        String[] revCmd = new String[]{BazaarConstants.REVNO_CMD};
         BazaarRevNoConsumer consumer = new BazaarRevNoConsumer( logger );
         BazaarUtils.execute( consumer, logger, workingDir, revCmd );
 
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConstants.java
similarity index 94%
rename from maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarCommand.java
rename to maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConstants.java
index 93c7699..4d2184b 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConstants.java
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import org.apache.maven.scm.command.Command;
 
 /**
  * Available/Used bazaar commands.
@@ -27,10 +26,10 @@
  * These commands does not necessarily correspond to the SCM API.
  * Eg. "check in" is translated to be "commit" and "push".
  *
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
-public interface BazaarCommand
-    extends Command
+public class BazaarConstants
 {
     /**
      * Executable for Bazaar
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java
index 096acc1..f8e6885 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/BazaarConsumer.java
@@ -35,7 +35,8 @@
  * More specific: log line each line if debug is enabled, get file status
  * and detect warnings from bazaar
  *
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarConsumer
     extends AbstractConsumer
@@ -44,12 +45,12 @@
     /**
      * A list of known keywords from bazaar
      */
-    private static final Map identifiers = new HashMap();
+    private static final Map IDENTIFIERS = new HashMap();
 
     /**
      * A list of known message prefixes from bazaar
      */
-    private static final Map messages = new HashMap();
+    private static final Map MESSAGES = new HashMap();
 
     /**
      * Number of lines to keep from Std.Err
@@ -65,14 +66,14 @@
 
     static
     {
-        identifiers.put( "added", ScmFileStatus.ADDED );
-        identifiers.put( "unknown", ScmFileStatus.UNKNOWN );
-        identifiers.put( "modified", ScmFileStatus.MODIFIED );
-        identifiers.put( "removed", ScmFileStatus.DELETED );
-        identifiers.put( "renamed", ScmFileStatus.MODIFIED );
-        messages.put( "bzr: WARNING:", "WARNING" );
-        messages.put( "bzr: ERROR:", "ERROR" );
-        messages.put( "'bzr' ", "ERROR" ); // bzr isn't found in windows path
+        IDENTIFIERS.put( "added", ScmFileStatus.ADDED );
+        IDENTIFIERS.put( "unknown", ScmFileStatus.UNKNOWN );
+        IDENTIFIERS.put( "modified", ScmFileStatus.MODIFIED );
+        IDENTIFIERS.put( "removed", ScmFileStatus.DELETED );
+        IDENTIFIERS.put( "renamed", ScmFileStatus.MODIFIED );
+        MESSAGES.put( "bzr: WARNING:", "WARNING" );
+        MESSAGES.put( "bzr: ERROR:", "ERROR" );
+        MESSAGES.put( "'bzr' ", "ERROR" ); // bzr isn't found in windows path
     }
 
     public BazaarConsumer( ScmLogger logger )
@@ -85,6 +86,7 @@
         //override this
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
@@ -109,7 +111,7 @@
             trimmedLine = trimmedLine.trim(); //one or more spaces
         }
 
-        ScmFileStatus status = statusStr != null ? ( (ScmFileStatus) identifiers.get( statusStr.intern() ) ) : null;
+        ScmFileStatus status = statusStr != null ? ( (ScmFileStatus) IDENTIFIERS.get( statusStr.intern() ) ) : null;
         doConsume( status, trimmedLine );
     }
 
@@ -131,7 +133,7 @@
 
     private static String processInputForKnownIdentifiers( String line )
     {
-        for ( Iterator it = identifiers.keySet().iterator(); it.hasNext(); )
+        for ( Iterator it = IDENTIFIERS.keySet().iterator(); it.hasNext(); )
         {
             String id = (String) it.next();
             if ( line.startsWith( id ) )
@@ -144,7 +146,7 @@
 
     private boolean processInputForKnownMessages( String line )
     {
-        for ( Iterator it = messages.keySet().iterator(); it.hasNext(); )
+        for ( Iterator it = MESSAGES.keySet().iterator(); it.hasNext(); )
         {
             String prefix = (String) it.next();
             if ( line.startsWith( prefix ) )
@@ -155,7 +157,7 @@
                     stderr.remove( 0 ); //Rotate list
                 }
                 String message = line.substring( prefix.length() );
-                if ( messages.get( prefix ).equals( "WARNING" ) )
+                if ( MESSAGES.get( prefix ).equals( "WARNING" ) )
                 {
                     getLogger().warn( message );
                 }
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddCommand.java
index 8b70026..50ab053 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddCommand.java
@@ -19,31 +19,34 @@
  * under the License.
  */
 
+import java.io.File;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.add.AbstractAddCommand;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
-
-import java.io.File;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 
 /**
  * Add no recursive.
  *
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarAddCommand
     extends AbstractAddCommand
-    implements BazaarCommand
+    implements Command
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
     {
-        String[] addCmd = new String[]{ADD_CMD, NO_RECURSE_OPTION};
+        String[] addCmd = new String[]{BazaarConstants.ADD_CMD, BazaarConstants.NO_RECURSE_OPTION};
         addCmd = BazaarUtils.expandCommandLine( addCmd, fileSet );
 
         File workingDir = fileSet.getBasedir();
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddConsumer.java
index c84b931..d7d8788 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/add/BazaarAddConsumer.java
@@ -29,7 +29,8 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarAddConsumer
     extends BazaarConsumer
@@ -44,6 +45,7 @@
         this.workingDir = workingDir;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         if ( status != null && status == ScmFileStatus.ADDED )
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogCommand.java
index 132a863..05ede68 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogCommand.java
@@ -24,12 +24,13 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmBranch;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.changelog.ChangeLogSet;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -37,18 +38,20 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarChangeLogCommand
     extends AbstractChangeLogCommand
-    implements BazaarCommand
+    implements Command
 {
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {
-        String[] cmd = new String[]{LOG_CMD, VERBOSE_OPTION};
+        String[] cmd = new String[]{BazaarConstants.LOG_CMD, BazaarConstants.VERBOSE_OPTION};
         BazaarChangeLogConsumer consumer = new BazaarChangeLogConsumer( getLogger(), datePattern );
         ScmResult result = BazaarUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd );
 
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java
index c00cf46..5c44d1d 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumer.java
@@ -30,7 +30,8 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarChangeLogConsumer
     extends BazaarConsumer
@@ -83,6 +84,7 @@
         return logEntries;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String line )
     {
         String tmpLine = line;
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkin/BazaarCheckInCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkin/BazaarCheckInCommand.java
index aa72fe1..8fe09b6 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkin/BazaarCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkin/BazaarCheckInCommand.java
@@ -30,7 +30,7 @@
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.apache.maven.scm.provider.bazaar.command.BazaarConsumer;
 import org.apache.maven.scm.provider.bazaar.command.status.BazaarStatusCommand;
 import org.apache.maven.scm.provider.bazaar.repository.BazaarScmProviderRepository;
@@ -42,12 +42,13 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarCheckInCommand
     extends AbstractCheckInCommand
 {
-
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )
         throws ScmException
@@ -70,8 +71,8 @@
             for ( Iterator it = statusFiles.iterator(); it.hasNext(); )
             {
                 ScmFile file = (ScmFile) it.next();
-                if ( file.getStatus() == ScmFileStatus.ADDED || file.getStatus() == ScmFileStatus.DELETED ||
-                    file.getStatus() == ScmFileStatus.MODIFIED )
+                if ( file.getStatus() == ScmFileStatus.ADDED || file.getStatus() == ScmFileStatus.DELETED
+                    || file.getStatus() == ScmFileStatus.MODIFIED )
                 {
                     commitedFiles.add( new ScmFile( file.getPath(), ScmFileStatus.CHECKED_IN ) );
                 }
@@ -87,7 +88,7 @@
         }
 
         // Commit to local branch
-        String[] commitCmd = new String[]{BazaarCommand.COMMIT_CMD, BazaarCommand.MESSAGE_OPTION, message};
+        String[] commitCmd = new String[]{BazaarConstants.COMMIT_CMD, BazaarConstants.MESSAGE_OPTION, message};
         commitCmd = BazaarUtils.expandCommandLine( commitCmd, fileSet );
         ScmResult result =
             BazaarUtils.execute( new BazaarConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), commitCmd );
@@ -96,9 +97,9 @@
         BazaarScmProviderRepository repository = (BazaarScmProviderRepository) repo;
         if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) )
         {
-            String[] push_cmd = new String[]{BazaarCommand.PUSH_CMD, repository.getURI()};
+            String[] pushCmd = new String[] { BazaarConstants.PUSH_CMD, repository.getURI() };
             result =
-                BazaarUtils.execute( new BazaarConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), push_cmd );
+                BazaarUtils.execute( new BazaarConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd );
         }
 
         return new CheckInScmResult( commitedFiles, result );
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java
index 1de72fc..7951b6a 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java
@@ -23,11 +23,12 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.Command;
 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.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.apache.maven.scm.provider.bazaar.command.BazaarConsumer;
 import org.apache.maven.scm.provider.bazaar.repository.BazaarScmProviderRepository;
 import org.codehaus.plexus.util.FileUtils;
@@ -37,13 +38,14 @@
 import java.io.IOException;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarCheckOutCommand
     extends AbstractCheckOutCommand
-    implements BazaarCommand
+    implements Command
 {
-
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
@@ -69,14 +71,14 @@
         }
 
         // Do the actual checkout
-        String[] checkout_cmd = new String[]{BRANCH_CMD, url, checkoutDir.getAbsolutePath()};
-        BazaarConsumer checkout_consumer = new BazaarConsumer( getLogger() );
-        BazaarUtils.execute( checkout_consumer, getLogger(), checkoutDir.getParentFile(), checkout_cmd );
+        String[] checkoutCmd = new String[]{BazaarConstants.BRANCH_CMD, url, checkoutDir.getAbsolutePath()};
+        BazaarConsumer checkoutConsumer = new BazaarConsumer( getLogger() );
+        BazaarUtils.execute( checkoutConsumer, getLogger(), checkoutDir.getParentFile(), checkoutCmd );
 
         // Do inventory to find list of checkedout files
-        String[] inventory_cmd = new String[]{INVENTORY_CMD};
+        String[] inventoryCmd = new String[]{BazaarConstants.INVENTORY_CMD};
         BazaarCheckOutConsumer consumer = new BazaarCheckOutConsumer( getLogger(), checkoutDir );
-        ScmResult result = BazaarUtils.execute( consumer, getLogger(), checkoutDir, inventory_cmd );
+        ScmResult result = BazaarUtils.execute( consumer, getLogger(), checkoutDir, inventoryCmd );
 
         return new CheckOutScmResult( consumer.getCheckedOutFiles(), result );
     }
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutConsumer.java
index bf4fad5..ef2d28d 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutConsumer.java
@@ -29,7 +29,8 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarCheckOutConsumer
     extends BazaarConsumer
@@ -45,6 +46,7 @@
         this.workingDirectory = workingDirectory;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String line )
     {
         File file = new File( workingDirectory, line );
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffCommand.java
index f214f42..ce23a66 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffCommand.java
@@ -23,21 +23,23 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.Command;
 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.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.codehaus.plexus.util.StringUtils;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarDiffCommand
     extends AbstractDiffCommand
-    implements BazaarCommand
+    implements Command
 {
-
+    /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                 ScmVersion startRevision, ScmVersion endRevision )
         throws ScmException
@@ -51,11 +53,11 @@
             {
                 revArg += ".." + endRevision.getName();
             }
-            diffCmd = new String[]{DIFF_CMD, REVISION_OPTION, revArg};
+            diffCmd = new String[]{BazaarConstants.DIFF_CMD, BazaarConstants.REVISION_OPTION, revArg};
         }
         else
         {
-            diffCmd = new String[]{DIFF_CMD};
+            diffCmd = new String[]{BazaarConstants.DIFF_CMD};
         }
 
         diffCmd = BazaarUtils.expandCommandLine( diffCmd, fileSet );
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffConsumer.java
index 40bc458..1c82149 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffConsumer.java
@@ -31,31 +31,32 @@
 import java.util.Map;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarDiffConsumer
     extends BazaarConsumer
 {
 
-    private final static String MODIFIED_FILE_TOKEN = "=== modified file ";
+    private static final String MODIFIED_FILE_TOKEN = "=== modified file ";
 
-    private final static String ADDED_FILE_TOKEN = "=== added file ";
+    private static final String ADDED_FILE_TOKEN = "=== added file ";
 
-    private final static String DELETED_FILE_TOKEN = "=== deleted file ";
+    private static final String DELETED_FILE_TOKEN = "=== deleted file ";
 
-    private final static String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
+    private static final String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
 
-    private final static String FROM_FILE_TOKEN = "---";
+    private static final String FROM_FILE_TOKEN = "---";
 
-    private final static String TO_FILE_TOKEN = "+++";
+    private static final String TO_FILE_TOKEN = "+++";
 
-    private final static String ADDED_LINE_TOKEN = "+";
+    private static final String ADDED_LINE_TOKEN = "+";
 
-    private final static String REMOVED_LINE_TOKEN = "-";
+    private static final String REMOVED_LINE_TOKEN = "-";
 
-    private final static String UNCHANGED_LINE_TOKEN = " ";
+    private static final String UNCHANGED_LINE_TOKEN = " ";
 
-    private final static String RANGE_TOKEN = "@@";
+    private static final String RANGE_TOKEN = "@@";
 
     private ScmLogger logger;
 
@@ -78,6 +79,7 @@
         this.workingDirectory = workingDirectory;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String line )
     {
         String tmpLine = new String( line );
@@ -109,9 +111,9 @@
         {
             // ignore (to avoid conflicts with add and remove tokens)
         }
-        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
-            line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( RANGE_TOKEN ) ||
-            line.startsWith( NO_NEWLINE_TOKEN ) )
+        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN )
+            || line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( RANGE_TOKEN )
+            || line.startsWith( NO_NEWLINE_TOKEN ) )
         {
             currentDifference.append( line ).append( "\n" );
         }
@@ -148,6 +150,8 @@
     }
 
     /**
+     * @param status
+     * @param tmpLine
      * @return True if tmpLine was a valid file and thus added to the changeset
      */
     private boolean addChangedFile( ScmFileStatus status, String tmpLine )
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveCommand.java
index b80dbc5..85d4496 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveCommand.java
@@ -19,29 +19,32 @@
  * under the License.
  */
 
+import java.io.File;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.remove.AbstractRemoveCommand;
 import org.apache.maven.scm.command.remove.RemoveScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
-
-import java.io.File;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarRemoveCommand
     extends AbstractRemoveCommand
-    implements BazaarCommand
+    implements Command
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
 
-        String[] command = new String[]{REMOVE_CMD};
+        String[] command = new String[] { BazaarConstants.REMOVE_CMD };
         BazaarUtils.expandCommandLine( command, fileSet );
 
         File workingDir = fileSet.getBasedir();
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveConsumer.java
index 4ccc4f5..db74f1b 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/remove/BazaarRemoveConsumer.java
@@ -29,7 +29,8 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarRemoveConsumer
     extends BazaarConsumer
@@ -44,6 +45,7 @@
         this.workingDir = workingDir;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         if ( status != null && status == ScmFileStatus.DELETED )
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusCommand.java
index 8fe99aa..fbb0089 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusCommand.java
@@ -22,20 +22,22 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.status.AbstractStatusCommand;
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 
 import java.io.File;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarStatusCommand
     extends AbstractStatusCommand
-    implements BazaarCommand
+    implements Command
 {
 
     public BazaarStatusCommand()
@@ -43,13 +45,14 @@
         super();
     }
 
+    /** {@inheritDoc} */
     public StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
 
         File workingDir = fileSet.getBasedir();
         BazaarStatusConsumer consumer = new BazaarStatusConsumer( getLogger(), workingDir );
-        String[] statusCmd = new String[]{STATUS_CMD};
+        String[] statusCmd = new String[] { BazaarConstants.STATUS_CMD };
         ScmResult result = BazaarUtils.execute( consumer, getLogger(), workingDir, statusCmd );
 
         return new StatusScmResult( consumer.getStatus(), result );
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusConsumer.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusConsumer.java
index 37e2896..9307876 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/status/BazaarStatusConsumer.java
@@ -29,7 +29,8 @@
 import java.util.List;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 class BazaarStatusConsumer
     extends BazaarConsumer
@@ -49,6 +50,7 @@
         this.workingDir = workingDir;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         if ( status != null )
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/update/BazaarUpdateCommand.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/update/BazaarUpdateCommand.java
index 4e531fd..47779c9 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/update/BazaarUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/update/BazaarUpdateCommand.java
@@ -25,13 +25,14 @@
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.changelog.ChangeLogCommand;
 import org.apache.maven.scm.command.update.AbstractUpdateCommand;
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.bazaar.BazaarUtils;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.apache.maven.scm.provider.bazaar.command.BazaarConsumer;
 import org.apache.maven.scm.provider.bazaar.command.changelog.BazaarChangeLogCommand;
 import org.apache.maven.scm.provider.bazaar.command.diff.BazaarDiffConsumer;
@@ -44,13 +45,15 @@
 import java.util.Map;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarUpdateCommand
     extends AbstractUpdateCommand
-    implements BazaarCommand
+    implements Command
 {
 
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
@@ -63,9 +66,9 @@
         File workingDir = fileSet.getBasedir();
 
         // Update branch
-        String[] update_cmd = new String[]{BazaarCommand.PULL_CMD};
-        ScmResult updateResult =
-            BazaarUtils.execute( new BazaarConsumer( getLogger() ), getLogger(), workingDir, update_cmd );
+        String[] updateCmd = new String[] { BazaarConstants.PULL_CMD };
+        ScmResult updateResult = BazaarUtils.execute( new BazaarConsumer( getLogger() ), getLogger(), workingDir,
+                                                      updateCmd );
 
         if ( !updateResult.isSuccess() )
         {
@@ -75,7 +78,8 @@
         // Find changes from last revision
         int currentRevision = BazaarUtils.getCurrentRevisionNumber( getLogger(), workingDir );
         int previousRevision = currentRevision - 1;
-        String[] diffCmd = new String[]{DIFF_CMD, REVISION_OPTION, "" + previousRevision};
+        String[] diffCmd =
+            new String[] { BazaarConstants.DIFF_CMD, BazaarConstants.REVISION_OPTION, "" + previousRevision };
         BazaarDiffConsumer diffConsumer = new BazaarDiffConsumer( getLogger(), workingDir );
         ScmResult diffResult = BazaarUtils.execute( diffConsumer, getLogger(), workingDir, diffCmd );
 
@@ -101,6 +105,7 @@
         return new UpdateScmResultWithRevision( updatedFiles, changes, String.valueOf( currentRevision ), diffResult );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         BazaarChangeLogCommand command = new BazaarChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java
index d92b3f6..e99adae 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java
@@ -25,7 +25,8 @@
 import java.io.File;
 
 /**
- * @author <a href="mailto:torbjorn@smorgrav.org">Torbjørn Eikli Smørgrav</a>
+ * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public class BazaarScmProviderRepository
     extends ScmProviderRepositoryWithHost
@@ -66,8 +67,8 @@
         }
         else
         {
-            return protocol + ( needsAuthentication() ? addUser() + addPassword() + addAt() : "" ) + addHost() +
-                addPort() + addPath();
+            return protocol + ( needsAuthentication() ? addUser() + addPassword() + addAt() : "" ) + addHost()
+                + addPort() + addPath();
         }
     }
 
@@ -106,8 +107,8 @@
 
         if ( msg != null )
         {
-            msg = "Something could be wrong about the repository URL: " + orgUrl + "\nReason: " + msg +
-                "\nCheck http://maven.apache.org/scm for usage and hints.";
+            msg = "Something could be wrong about the repository URL: " + orgUrl + "\nReason: " + msg
+                + "\nCheck http://maven.apache.org/scm for usage and hints.";
         }
         return msg;
     }
@@ -166,35 +167,29 @@
     {
         if ( !FILE.equals( protocol ) )
         {
-            String[] split = url.split( ":" );
-            if ( split.length == 2 )
+            int indexSlash = url.indexOf( "/" );
+
+            String hostPort = url;
+            if ( indexSlash > 0 )
             {
-                setHost( split[0] );
-                url = url.substring( split[0].length() + 1 );
-                split = split[1].split( "/" );
-                if ( split.length == 2 )
-                {
-                    url = url.substring( split[0].length() );
-                    try
-                    {
-                        setPort( Integer.valueOf( split[0] ).intValue() );
-                    }
-                    catch ( NumberFormatException e )
-                    {
-                        //Ignore - error will manifest itself later.
-                    }
-                }
+                hostPort = url.substring( 0, indexSlash );
+            }
+
+            int indexColon = hostPort.indexOf( ":" );
+            if ( indexColon > 0 )
+            {
+                setHost( hostPort.substring( 0, indexColon ) );
+                url = StringUtils.replace( url, getHost(), "" );
+                setPort( Integer.parseInt( hostPort.substring( indexColon + 1 ) ) );
+                url = StringUtils.replace( url, ":" + getPort(), "" );
             }
             else
             {
-                split = url.split( "/" );
-                if ( split.length > 1 )
-                {
-                    url = url.substring( split[0].length() );
-                    setHost( split[0] );
-                }
+                setHost( hostPort );
+                url = StringUtils.replace( url, getHost(), "" );
             }
         }
+
         return url;
     }
 
@@ -281,9 +276,11 @@
         return SFTP.equals( protocol ) || FTP.equals( protocol ) || HTTPS.equals( protocol ) || AFTP.equals( protocol );
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
-        return "Bazaar Repository Interpreted from: " + orgUrl + ":\nProtocol: " + protocol + "\nHost: " + getHost() +
-            "\nPort: " + getPort() + "\nUsername: " + getUser() + "\nPassword: " + getPassword() + "\nPath: " + path;
+        return "Bazaar Repository Interpreted from: " + orgUrl + ":\nProtocol: " + protocol + "\nHost: "
+            + getHost() + "\nPort: " + getPort() + "\nUsername: " + getUser() + "\nPassword: " + getPassword()
+            + "\nPath: " + path;
     }
 }
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/site/site.xml b/maven-scm-providers/maven-scm-provider-bazaar/src/site/site.xml
new file mode 100644
index 0000000..123d5e1
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Bazzar Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarRepoUtils.java b/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarRepoUtils.java
index d527db8..bf5f56b 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarRepoUtils.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/BazaarRepoUtils.java
@@ -21,7 +21,7 @@
 
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
-import org.apache.maven.scm.provider.bazaar.command.BazaarCommand;
+import org.apache.maven.scm.provider.bazaar.command.BazaarConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 
@@ -78,7 +78,7 @@
         }
 
         // Init repository
-        String[] init_cmd = new String[]{BazaarCommand.INIT_CMD};
+        String[] init_cmd = new String[]{BazaarConstants.INIT_CMD};
         BazaarUtils.execute( WORKING_DIR, init_cmd );
 
         // Create and add files to repository
@@ -102,7 +102,7 @@
         }
 
         //Add to repository
-        String[] add_cmd = new String[] { BazaarCommand.ADD_CMD };
+        String[] add_cmd = new String[] { BazaarConstants.ADD_CMD };
         ScmFileSet filesToAdd = new ScmFileSet( new File( "" ), files );
         add_cmd = BazaarUtils.expandCommandLine( add_cmd, filesToAdd );
         ScmResult result = BazaarUtils.execute( WORKING_DIR, add_cmd );
@@ -114,7 +114,7 @@
         }
 
         // Commit the initial repository
-        String[] commit_cmd = new String[]{BazaarCommand.COMMIT_CMD, BazaarCommand.MESSAGE_OPTION, COMMIT_MESSAGE};
+        String[] commit_cmd = new String[]{BazaarConstants.COMMIT_CMD, BazaarConstants.MESSAGE_OPTION, COMMIT_MESSAGE};
         result = BazaarUtils.execute( WORKING_DIR, commit_cmd );
         if ( !result.isSuccess() )
         {
diff --git a/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java
index 0397f08..632ef6d 100644
--- a/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java
@@ -115,4 +115,24 @@
         assertEquals( "http://www.myhost.com:81/dev/maven", repo.getURI() );
         assertNull( repo.validateURI() );
     }
+
+    /**
+     * @throws Exception
+     */
+    public void testParseHostAndPort()
+        throws Exception
+    {
+        String url = "http://localhost:8000/";
+        BazaarScmProviderRepository repo = new BazaarScmProviderRepository( url );
+        System.out.println(repo.getURI());
+        assertEquals( repo.getURI(), url );
+
+        url = "http://localhost/";
+        repo = new BazaarScmProviderRepository( url );
+        assertEquals( repo.getURI(), url );
+
+        url = "http://www.myhost.com:81/dev/maven";
+        repo = new BazaarScmProviderRepository( url );
+        assertEquals( repo.getURI(), url );
+    }
 }
\ No newline at end of file
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/LICENSE.txt b/maven-scm-providers/maven-scm-provider-clearcase/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/maven-scm-providers/maven-scm-provider-clearcase/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/NOTICE.txt b/maven-scm-providers/maven-scm-provider-clearcase/NOTICE.txt
deleted file mode 100644
index 3f59805..0000000
--- a/maven-scm-providers/maven-scm-provider-clearcase/NOTICE.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/checkstyle-license.txt b/maven-scm-providers/maven-scm-provider-clearcase/checkstyle-license.txt
deleted file mode 100644
index e526f7d..0000000
--- a/maven-scm-providers/maven-scm-provider-clearcase/checkstyle-license.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-/* ====================================================================
- * Copyright 2003-2004 The Apache Software Foundation.
- *
- * Licensed 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.
- * ====================================================================
- */
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
index d5ff651..b106f62 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-clearcase/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,19 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-clearcase</artifactId>
+
   <name>Maven SCM Clearcase Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for Clearcase (http://www-306.ibm.com/software/awdtools/clearcase/).</description>
+
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java
index bf35533..c5f7a10 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java
@@ -62,27 +62,29 @@
      */
     private Settings settings;
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
         settings = ClearCaseUtil.getSettings();
-        return new ClearCaseScmProviderRepository( getLogger(), scmSpecificUrl, settings);
+        return new ClearCaseScmProviderRepository( getLogger(), scmSpecificUrl, settings );
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "clearcase";
     }
 
+    /** {@inheritDoc} */
     public boolean requiresEditMode()
     {
         return true;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
-    public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
+                                         CommandParameters parameters )
         throws ScmException
     {
         ClearCaseChangeLogCommand command = new ClearCaseChangeLogCommand();
@@ -92,10 +94,9 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
-    public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
+                                     CommandParameters parameters )
         throws ScmException
     {
         ClearCaseCheckInCommand command = new ClearCaseCheckInCommand();
@@ -105,21 +106,22 @@
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @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 CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
+                                       CommandParameters parameters )
         throws ScmException
     {
         ClearCaseCheckOutCommand command = new ClearCaseCheckOutCommand();
 
         command.setLogger( getLogger() );
-        command.setSettings(settings);
+        command.setSettings( settings );
 
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    protected UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    protected UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet,
+                                      CommandParameters parameters )
         throws ScmException
     {
         ClearCaseUpdateCommand command = new ClearCaseUpdateCommand();
@@ -129,9 +131,7 @@
         return (UpdateScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -142,7 +142,9 @@
         return (TagScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    protected StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    protected StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet,
+                                      CommandParameters parameters )
         throws ScmException
     {
         ClearCaseStatusCommand command = new ClearCaseStatusCommand();
@@ -152,7 +154,9 @@
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    protected EditScmResult edit( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    protected EditScmResult edit( ScmProviderRepository repository, ScmFileSet fileSet,
+                                  CommandParameters parameters )
         throws ScmException
     {
         ClearCaseEditCommand command = new ClearCaseEditCommand();
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddCommand.java
index acc12f1..4c75141 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddCommand.java
@@ -35,11 +35,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseAddCommand
     extends AbstractAddCommand
     implements ClearCaseCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository scmProviderRepository, ScmFileSet scmFileSet,
                                            String string, boolean b )
         throws ScmException
@@ -58,8 +60,10 @@
             // First we need to 'check out' the current directory
             Commandline checkoutCurrentDirCommandLine =
                 ClearCaseEditCommand.createCheckoutCurrentDirCommandLine( scmFileSet );
-            getLogger().debug( "Executing: " + checkoutCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath() +
-                ">>" + checkoutCurrentDirCommandLine.toString() );
+            getLogger().debug(
+                               "Executing: "
+                                   + checkoutCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath() + ">>"
+                                   + checkoutCurrentDirCommandLine.toString() );
             exitCode = CommandLineUtils.executeCommandLine( checkoutCurrentDirCommandLine,
                                                             new CommandLineUtils.StringStreamConsumer(), stderr );
 
@@ -74,9 +78,10 @@
                     // Then we check in the current directory again.
                     Commandline checkinCurrentDirCommandLine =
                         ClearCaseEditCommand.createCheckinCurrentDirCommandLine( scmFileSet );
-                    getLogger().debug( "Executing: " +
-                        checkinCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath() + ">>" +
-                        checkinCurrentDirCommandLine.toString() );
+                    getLogger().debug(
+                                       "Executing: "
+                                           + checkinCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath()
+                                           + ">>" + checkinCurrentDirCommandLine.toString() );
                     exitCode = CommandLineUtils.executeCommandLine( checkinCurrentDirCommandLine,
                                                                     new CommandLineUtils.StringStreamConsumer(),
                                                                     stderr );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddConsumer.java
index 01ee4cc..7fe7199 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/add/ClearCaseAddConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseAddConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java
index ae43162..20a5634 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java
@@ -54,6 +54,7 @@
     // AbstractChangeLogCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogConsumer.java
index 59be8cb..d71007d 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogConsumer.java
@@ -108,6 +108,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         switch ( getStatus() )
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommand.java
index 63e6326..5e203a9 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommand.java
@@ -34,6 +34,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseCheckInCommand
     extends AbstractCheckInCommand
@@ -43,6 +44,7 @@
     // AbstractCheckOutCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository scmProviderRepository, ScmFileSet fileSet,
                                                       String message, ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInConsumer.java
index 2d8cd06..451f936 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @version $Id$
  */
 public class ClearCaseCheckInConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java
index 96c5298..6ef4824 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java
@@ -43,6 +43,7 @@
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
  * @author <a href="mailto:frederic.mura@laposte.net">Frederic Mura</a>
+ * @version $Id$
  */
 public class ClearCaseCheckOutCommand
     extends AbstractCheckOutCommand
@@ -54,6 +55,7 @@
     // AbstractCheckOutCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
@@ -80,14 +82,16 @@
 
         try
         {
-            // Since clearcase only wants to checkout to a non-existent directory, first delete the working dir if it already exists
+            // Since clearcase only wants to checkout to a non-existent directory, first delete the working dir
+            // if it already exists
             FileUtils.deleteDirectory( workingDirectory );
             // First create the view
             String viewName = getUniqueViewName( repo, workingDirectory.getAbsolutePath() );
-            String streamIdentifier = getStreamIdentifier(repo.getStreamName(), repo.getVobName());
+            String streamIdentifier = getStreamIdentifier( repo.getStreamName(), repo.getVobName() );
             cl = createCreateViewCommandLine( workingDirectory, viewName, streamIdentifier );
             getLogger().info( "Executing: " + cl.getWorkingDirectory().getAbsolutePath() + ">>" + cl.toString() );
-            exitCode = CommandLineUtils.executeCommandLine( cl, new CommandLineUtils.StringStreamConsumer(), stderr );
+            exitCode =
+                CommandLineUtils.executeCommandLine( cl, new CommandLineUtils.StringStreamConsumer(), stderr );
 
             if ( exitCode == 0 )
             {
@@ -121,7 +125,7 @@
                     // When checking out from ClearCase, the directory structure of the
                     // SCM system is repeated within the checkout directory. E.g. if you check out the
                     // project "my/project" to "/some/dir", the project sources are actually checked out
-                    // to "my/project/some/dir".  
+                    // to "my/project/some/dir".
                     projectDirectory = repo.getLoadDirectory();
                     // strip off leading / to make the path relative
                     if ( projectDirectory.startsWith( "/" ) )
@@ -165,6 +169,7 @@
      * @param configSpecContents The contents for the file
      * @param viewName           The name of the view; used to determine an appropriate file
      *                           name
+     * @throws IOException
      */
     protected File writeTemporaryConfigSpecFile( String configSpecContents, String viewName )
         throws IOException
@@ -241,7 +246,7 @@
 //        return command;
 //    }
 
-    protected Commandline createCreateViewCommandLine( File workingDirectory, String viewName, String streamIdentifier)
+    protected Commandline createCreateViewCommandLine( File workingDirectory, String viewName, String streamIdentifier )
         throws IOException
     {
         Commandline command = new Commandline();
@@ -255,13 +260,13 @@
         command.createArgument().setValue( "-snapshot" );
         command.createArgument().setValue( "-tag" );
         command.createArgument().setValue( viewName );
-        
-        if (isClearCaseUCM())
+
+        if ( isClearCaseUCM() )
         {
             command.createArgument().setValue( "-stream" );
             command.createArgument().setValue( streamIdentifier );
         }
-        
+
         if ( !isClearCaseLT() )
         {
             if ( useVWS() )
@@ -282,10 +287,12 @@
      * @param vobName
      * @return the formatted stream identifier if the two parameter are not null
      */
-    protected String getStreamIdentifier(String streamName, String vobName)
+    protected String getStreamIdentifier( String streamName, String vobName )
     {
-        if (streamName == null || vobName == null)
+        if ( streamName == null || vobName == null )
+        {
             return null;
+        }
         return "stream:" + streamName + "@" + vobName;
     }
 
@@ -350,14 +357,14 @@
 
     protected boolean isClearCaseLT()
     {
-        return ClearCaseScmProviderRepository.CLEARCASE_LT.equals(settings.getClearcaseType());
+        return ClearCaseScmProviderRepository.CLEARCASE_LT.equals( settings.getClearcaseType() );
     }
 
     protected boolean isClearCaseUCM()
     {
-        return ClearCaseScmProviderRepository.CLEARCASE_UCM.equals(settings.getClearcaseType());
+        return ClearCaseScmProviderRepository.CLEARCASE_UCM.equals( settings.getClearcaseType() );
     }
-    
+
     /**
      * @return the value of the setting property 'useVWS'
      */
@@ -388,7 +395,8 @@
         return username;
     }
 
-    public void setSettings(Settings settings) {
+    public void setSettings( Settings settings )
+    {
         this.settings = settings;
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutConsumer.java
index 27c3841..3319886 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseCheckOutConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         checkedOutFiles.add( new ScmFile( line, ScmFileStatus.CHECKED_OUT ) );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditCommand.java
index 0c3666e..b3d2d5c 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditCommand.java
@@ -35,11 +35,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseEditCommand
     extends AbstractEditCommand
     implements ClearCaseCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeEditCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditConsumer.java
index c5284e6..fbdb417 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/edit/ClearCaseEditConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseEditConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveCommand.java
index d1b515d..363160d 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveCommand.java
@@ -36,11 +36,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseRemoveCommand
     extends AbstractRemoveCommand
     implements ClearCaseCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository scmProviderRepository, ScmFileSet scmFileSet,
                                               String string )
         throws ScmException
@@ -58,10 +60,13 @@
             // First we need to 'check out' the current directory
             Commandline checkoutCurrentDirCommandLine =
                 ClearCaseEditCommand.createCheckoutCurrentDirCommandLine( scmFileSet );
-            getLogger().debug( "Executing: " + checkoutCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath() +
-                ">>" + checkoutCurrentDirCommandLine.toString() );
-            exitCode = CommandLineUtils.executeCommandLine( checkoutCurrentDirCommandLine,
-                                                            new CommandLineUtils.StringStreamConsumer(), stderr );
+            getLogger().debug(
+                               "Executing: "
+                                   + checkoutCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath() + ">>"
+                                   + checkoutCurrentDirCommandLine.toString() );
+            exitCode =
+                CommandLineUtils.executeCommandLine( checkoutCurrentDirCommandLine,
+                                                     new CommandLineUtils.StringStreamConsumer(), stderr );
 
             if ( exitCode == 0 )
             {
@@ -74,9 +79,10 @@
                     // Then we check in the current directory again.
                     Commandline checkinCurrentDirCommandLine =
                         ClearCaseEditCommand.createCheckinCurrentDirCommandLine( scmFileSet );
-                    getLogger().debug( "Executing: " +
-                        checkinCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath() + ">>" +
-                        checkinCurrentDirCommandLine.toString() );
+                    getLogger().debug(
+                                       "Executing: "
+                                           + checkinCurrentDirCommandLine.getWorkingDirectory().getAbsolutePath()
+                                           + ">>" + checkinCurrentDirCommandLine.toString() );
                     exitCode = CommandLineUtils.executeCommandLine( checkinCurrentDirCommandLine,
                                                                     new CommandLineUtils.StringStreamConsumer(),
                                                                     stderr );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveConsumer.java
index 3c5753d..5d26014 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/remove/ClearCaseRemoveConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseRemoveConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusCommand.java
index 83f75dc..6b8a8d1 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusCommand.java
@@ -33,11 +33,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseStatusCommand
     extends AbstractStatusCommand
     implements ClearCaseCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository scmProviderRepository, ScmFileSet scmFileSet )
         throws ScmException
     {
@@ -83,7 +85,7 @@
         command.setExecutable( "cleartool" );
 
         command.createArgument().setValue( "lscheckout" );
-        command.createArgument().setValue( "-cview");
+        command.createArgument().setValue( "-cview" );
         command.createArgument().setValue( "-r" );
         command.createArgument().setValue( "-fmt" );
         command.createArgument().setValue( "%n\\n" );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusConsumer.java
index 57eb502..d874883 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/status/ClearCaseStatusConsumer.java
@@ -30,6 +30,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseStatusConsumer
     implements StreamConsumer
@@ -54,6 +55,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
index 1965b05..07c3439 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagCommand.java
@@ -35,12 +35,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseTagCommand
     extends AbstractTagCommand
     implements ClearCaseCommand
 {
-
+    /** {@inheritDoc} */
     protected ScmResult executeTagCommand( ScmProviderRepository scmProviderRepository, ScmFileSet fileSet, String tag,
                                            String message )
         throws ScmException
@@ -58,8 +59,9 @@
         {
             getLogger().debug( "Creating label: " + tag );
             Commandline newLabelCommandLine = createNewLabelCommandLine( fileSet, tag );
-            getLogger().debug( "Executing: " + newLabelCommandLine.getWorkingDirectory().getAbsolutePath() + ">>" +
-                newLabelCommandLine.toString() );
+            getLogger().debug(
+                               "Executing: " + newLabelCommandLine.getWorkingDirectory().getAbsolutePath() + ">>"
+                                   + newLabelCommandLine.toString() );
             exitCode = CommandLineUtils.executeCommandLine( newLabelCommandLine,
                                                             new CommandLineUtils.StringStreamConsumer(), stderr );
 
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagConsumer.java
index cf791a4..a0c5b8e 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/tag/ClearCaseTagConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @version $Id$
  */
 public class ClearCaseTagConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditCommand.java
index 62999d4..5d32830 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditCommand.java
@@ -35,11 +35,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseUnEditCommand
     extends AbstractUnEditCommand
     implements ClearCaseCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeUnEditCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditConsumer.java
index a30e014..6c64588 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/unedit/ClearCaseUnEditConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseUnEditConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateCommand.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateCommand.java
index 79678e7..fc888e9 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateCommand.java
@@ -36,11 +36,13 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseUpdateCommand
     extends AbstractUpdateCommand
     implements ClearCaseCommand
 {
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                     ScmVersion version )
         throws ScmException
@@ -72,6 +74,7 @@
         return new UpdateScmResult( cl.toString(), consumer.getUpdatedFiles() );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         ClearCaseChangeLogCommand changeLogCmd = new ClearCaseChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateConsumer.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateConsumer.java
index b5fcbae..b4d48dc 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateConsumer.java
@@ -29,6 +29,7 @@
 
 /**
  * @author <a href="mailto:wim.deblauwe@gmail.com">Wim Deblauwe</a>
+ * @version $Id$
  */
 public class ClearCaseUpdateConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
     // Stream Consumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java
index 59ae038..23252bb 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java
@@ -37,10 +37,10 @@
  * Provider Repository for ClearCase (standard, LT, UCM)
  * <p />
  * Url format for ClearCase and ClearCaseLT : <br />
- * [view_name]:[configspec] or [view_name]|[configspec] 
+ * [view_name]:[configspec] or [view_name]|[configspec]
  * <p />
  * Url format for ClearCaseUCM : <br />
- * [view_name]|[configspec]|[vob_name]|[stream_name] or [view_name]:[configspec]:[vob_name]:[stream_name]  
+ * [view_name]|[configspec]|[vob_name]|[stream_name] or [view_name]:[configspec]:[vob_name]:[stream_name]
  * <p />
  * [configspec] can be used in two different ways:
  * <ul>
@@ -83,12 +83,12 @@
      * Describe the vob containing the stream. Only used with ClearCaseUCM
      */
     private String vobName;
-    
+
     /**
      * Provider configuration settings
      */
     private Settings settings;
-    
+
     /**
      * Define the flag used in the clearcase-settings.xml when using ClearCaseLT
      */
@@ -103,7 +103,7 @@
      * Define the default value from the clearcase-settings.xml when using ClearCase
      */
     public static final String CLEARCASE_DEFAULT = null;
-    
+
     public ClearCaseScmProviderRepository( ScmLogger logger, String url, Settings settings )
         throws ScmRepositoryException
     {
@@ -146,12 +146,16 @@
         throws UnknownHostException, URISyntaxException, MalformedURLException
     {
         String configSpecString = null;
-        
-        if (CLEARCASE_UCM.equals(settings.getClearcaseType()))
-            configSpecString = fillUCMProperties(tokenizer);
+
+        if ( CLEARCASE_UCM.equals( settings.getClearcaseType() ) )
+        {
+            configSpecString = fillUCMProperties( tokenizer );
+        }
         else
-            configSpecString = fillDefaultProperties(tokenizer);
-        
+        {
+            configSpecString = fillDefaultProperties( tokenizer );
+        }
+
         if ( !configSpecString.startsWith( "load " ) )
         {
             configSpec = createConfigSpecFile( configSpecString );
@@ -165,35 +169,40 @@
         }
     }
 
-    private String fillDefaultProperties(StringTokenizer tokenizer) throws UnknownHostException 
+    private String fillDefaultProperties( StringTokenizer tokenizer )
+        throws UnknownHostException
     {
-        int tokenNumber = tokenizer.countTokens();  
+        int tokenNumber = tokenizer.countTokens();
         String configSpecString;
         if ( tokenNumber == 1 )
         {
-            //No view name was given
+            // No view name was given
             viewName = getDefaultViewName();
             configSpecString = tokenizer.nextToken();
         }
         else
         {
-            configSpecString = checkViewName(tokenizer);
-            checkUnexpectedParameter(tokenizer, tokenNumber, 2);
+            configSpecString = checkViewName( tokenizer );
+            checkUnexpectedParameter( tokenizer, tokenNumber, 2 );
         }
         logger.debug( "viewName = '" + viewName + "' ; configSpec = '" + configSpecString + "'" );
         return configSpecString;
     }
 
-    private String fillUCMProperties(StringTokenizer tokenizer) throws UnknownHostException, MalformedURLException 
+    private String fillUCMProperties( StringTokenizer tokenizer )
+        throws UnknownHostException, MalformedURLException
     {
         int tokenNumber = tokenizer.countTokens();
         if ( tokenNumber <= 2 )
-            throw new MalformedURLException("ClearCaseUCM need more parameters. Expected url format : [view_name]|[configspec]|[vob_name]|[stream_name]");
-        
+        {
+            throw new MalformedURLException( "ClearCaseUCM need more parameters. Expected url format : "
+                + "[view_name]|[configspec]|[vob_name]|[stream_name]" );
+        }
+
         String configSpecString;
         if ( tokenNumber == 3 )
         {
-            //No view name was given
+            // No view name was given
             viewName = getDefaultViewName();
             configSpecString = tokenizer.nextToken();
             vobName = tokenizer.nextToken();
@@ -201,16 +210,18 @@
         }
         else
         {
-            configSpecString = checkViewName(tokenizer);
+            configSpecString = checkViewName( tokenizer );
             vobName = tokenizer.nextToken();
-            streamName = tokenizer.nextToken();       
-            checkUnexpectedParameter(tokenizer, tokenNumber, 4);
+            streamName = tokenizer.nextToken();
+            checkUnexpectedParameter( tokenizer, tokenNumber, 4 );
         }
-        logger.info( "viewName = '" + viewName + "' ; configSpec = '" + configSpecString + "' ; vobName = '" + vobName + "' ; streamName = '" + streamName + "'" );
+        logger.info( "viewName = '" + viewName + "' ; configSpec = '" + configSpecString + "' ; vobName = '"
+            + vobName + "' ; streamName = '" + streamName + "'" );
         return configSpecString;
     }
 
-    private String checkViewName(StringTokenizer tokenizer) throws UnknownHostException 
+    private String checkViewName( StringTokenizer tokenizer )
+        throws UnknownHostException
     {
         viewName = tokenizer.nextToken();
         if ( viewName.length() > 0 )
@@ -224,15 +235,15 @@
         return tokenizer.nextToken();
     }
 
-    private void checkUnexpectedParameter(StringTokenizer tokenizer, int tokenNumber, int maxTokenNumber) 
+    private void checkUnexpectedParameter( StringTokenizer tokenizer, int tokenNumber, int maxTokenNumber )
     {
-        if (tokenNumber > maxTokenNumber)
+        if ( tokenNumber > maxTokenNumber )
         {
             String unexpectedToken = tokenizer.nextToken();
-            logger.info("The SCM URL contains unused parameter : " + unexpectedToken);
+            logger.info( "The SCM URL contains unused parameter : " + unexpectedToken );
         }
     }
-    
+
     private File createConfigSpecFile( String spec )
         throws URISyntaxException, MalformedURLException
     {
@@ -324,11 +335,13 @@
         return loadDirectory;
     }
 
-    public String getStreamName() {
+    public String getStreamName()
+    {
         return streamName;
     }
 
-    public String getVobName() {
+    public String getVobName()
+    {
         return vobName;
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java
index ef519a8..96cbd0c 100644
--- a/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/util/ClearCaseUtil.java
@@ -63,9 +63,11 @@
             }
             catch ( FileNotFoundException e )
             {
+                // nop
             }
             catch ( IOException e )
             {
+                // nop
             }
             catch ( XmlPullParserException e )
             {
diff --git a/maven-scm-providers/maven-scm-provider-clearcase/src/site/site.xml b/maven-scm-providers/maven-scm-provider-clearcase/src/site/site.xml
new file mode 100644
index 0000000..6cc4be6
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-clearcase/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Clearcase Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-hg/pom.xml b/maven-scm-providers/maven-scm-provider-hg/pom.xml
index 104cb1a..49382e4 100644
--- a/maven-scm-providers/maven-scm-provider-hg/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-hg/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,21 +20,24 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-	<modelVersion>4.0.0</modelVersion>
-	<artifactId>maven-scm-provider-hg</artifactId>
-	<name>Maven SCM Mercurial (Hg) Provider</name>
-	<version>1.1</version>
+
+  <artifactId>maven-scm-provider-hg</artifactId>
+
+  <name>Maven SCM Mercurial (Hg) Provider</name>
+  <description>SCM Provider implementation for Mercurial Hg (http://www.selenic.com/mercurial/wiki/).</description>
 
   <contributors>
-		<contributor>
-		 <name>Thurner Rupert</name>
-		 <email>thurner.rupert@ymono.net</email>
-		</contributor>
+    <contributor>
+     <name>Thurner Rupert</name>
+     <email>thurner.rupert@ymono.net</email>
+    </contributor>
     <contributor>
       <name>Alain Hoang</name>
       <email>hoanga@alum.rpi.edu</email>
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java
index 21694f6..8a5f823 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java
@@ -22,7 +22,7 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.log.DefaultLog;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -33,11 +33,12 @@
  *
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
  * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ * @version $Id$
  */
 public class HgConfig
 {
     //Minimum version for the Hg SCM
-    private static String HG_REQ = "0.9.2";
+    private static final String HG_REQ = "0.9.2";
 
     // The string which indicates the beginning of the Mercurial line
     private static final String HG_VERSION_TAG = "ercurial Distributed SCM (version ";
@@ -82,7 +83,7 @@
     public static HgVersionConsumer getHgVersion( File workingDir )
         throws ScmException
     {
-        String[] versionCmd = new String[]{HgCommand.VERSION};
+        String[] versionCmd = new String[]{HgCommandConstants.VERSION};
         HgVersionConsumer consumer = new HgVersionConsumer( HG_VERSION_TAG );
         Commandline cmd = HgUtils.buildCmd( workingDir, versionCmd );
 
@@ -102,9 +103,9 @@
      * @param version2
      * @return true if version2 is greater than version1
      */
-    private static boolean CompareVersion( String version1, String version2 )
+    private static boolean compareVersion( String version1, String version2 )
     {
-        int l1, l2, i;
+        int l1, l2;
         String v1, v2;
 
         v1 = version1;
@@ -142,17 +143,17 @@
 
         private String versionStr = "NA";
 
-        private String version_tag;
+        private String versionTag;
 
-        HgVersionConsumer( String version_tag )
+        HgVersionConsumer( String versionTag )
         {
             super( new DefaultLog() );
-            this.version_tag = version_tag;
+            this.versionTag = versionTag;
         }
 
         public void doConsume( ScmFileStatus status, String line )
         {
-            if ( line.startsWith( version_tag ) )
+            if ( line.startsWith( versionTag ) )
             {
                 String[] elements = line.split( " " );
                 versionStr = elements[elements.length - 1].split( "\\)" )[0];
@@ -168,7 +169,7 @@
         {
             // build one number out of the whole version #
 
-            return CompareVersion( version, versionStr );
+            return compareVersion( version, versionStr );
         }
     }
 
@@ -184,7 +185,7 @@
     public String toString( File workingDir )
     {
         boolean hgOk = hgVersion.isVersionOk( HG_REQ );
-        return "\n  Your Hg installation seems to be " + getInstalledStr() + "\n    Hg version: " +
-            hgVersion.getVersion() + ( hgOk ? " (OK)" : " (May be INVALID)" ) + "\n";
+        return "\n  Your Hg installation seems to be " + getInstalledStr() + "\n    Hg version: "
+            + hgVersion.getVersion() + ( hgOk ? " (OK)" : " (May be INVALID)" ) + "\n";
     }
 }
\ No newline at end of file
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 619b5a1..383b947 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
@@ -19,6 +19,10 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.maven.scm.CommandParameters;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
@@ -29,11 +33,10 @@
 import org.apache.maven.scm.command.diff.DiffScmResult;
 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.command.update.UpdateScmResult;
 import org.apache.maven.scm.provider.AbstractScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
-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;
@@ -41,26 +44,25 @@
 import org.apache.maven.scm.provider.hg.command.diff.HgDiffCommand;
 import org.apache.maven.scm.provider.hg.command.remove.HgRemoveCommand;
 import org.apache.maven.scm.provider.hg.command.status.HgStatusCommand;
+import org.apache.maven.scm.provider.hg.command.tag.HgTagCommand;
 import org.apache.maven.scm.provider.hg.command.update.HgUpdateCommand;
 import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * Mercurial (HG) is a decentralized revision control system.
  * <a href="http://www.selenic.com/mercurial">http://www.selenic.com/mercurial</a>
  *
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  * @plexus.component role="org.apache.maven.scm.provider.ScmProvider"
  * role-hint="hg"
  */
 public class HgScmProvider
     extends AbstractScmProvider
 {
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return ".hg";
@@ -68,25 +70,24 @@
 
     private static class HgUrlParserResult
     {
-        List messages = new ArrayList();
+        private List messages = new ArrayList();
 
-        ScmProviderRepository repository;
+        private ScmProviderRepository repository;
     }
 
-
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
-            throws ScmRepositoryException
+        throws ScmRepositoryException
+    {
+        HgUrlParserResult result = parseScmUrl( scmSpecificUrl );
+
+        if ( result.messages.size() > 0 )
         {
-            HgUrlParserResult result = parseScmUrl( scmSpecificUrl );
-
-            if ( result.messages.size() > 0 )
-            {
-                throw new ScmRepositoryException( "The scm url is invalid.", result.messages );
-            }
-
-            return result.repository;
+            throw new ScmRepositoryException( "The scm url is invalid.", result.messages );
         }
 
+        return result.repository;
+    }
 
     private HgUrlParserResult parseScmUrl( String scmSpecificUrl )
     {
@@ -124,12 +125,17 @@
 
                 return result;
             }
-        } else {
-            try {
+        }
+        else
+        {
+            try
+            {
 
-                File file = new File(url);
+                File file = new File( url );
 
-            } catch (Throwable e) {
+            }
+            catch ( Throwable e )
+            {
                 result.messages.add( "The filename provided is not valid" );
 
                 return result;
@@ -142,9 +148,7 @@
         return result;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#makeProviderScmRepository(java.io.File)
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
@@ -163,14 +167,7 @@
         return makeProviderScmRepository( path.getAbsolutePath(), ':' );
     }
 
-    
-    /**
-     * Validate the scm url.
-     *
-     * @param scmSpecificUrl The SCM url
-     * @param delimiter      The delimiter used in the SCM url
-     * @return Returns a list of messages if the validation failed
-     */ 
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
         HgUrlParserResult result = parseScmUrl( scmSpecificUrl );
@@ -178,14 +175,13 @@
         return result.messages;
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "hg";
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -196,9 +192,7 @@
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -210,9 +204,7 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -224,9 +216,7 @@
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -238,11 +228,8 @@
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @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 )
+    /** {@inheritDoc} */
+    public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         HgTagCommand command = new HgTagCommand();
@@ -252,10 +239,7 @@
         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)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -266,10 +250,9 @@
         return (DiffScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
-    public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet,
+                                   CommandParameters parameters )
         throws ScmException
     {
         HgRemoveCommand command = new HgRemoveCommand();
@@ -279,10 +262,9 @@
         return (RemoveScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
-    public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet,
+                                   CommandParameters parameters )
         throws ScmException
     {
         HgStatusCommand command = new HgStatusCommand();
@@ -292,10 +274,9 @@
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
-    public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    /** {@inheritDoc} */
+    public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet,
+                                   CommandParameters parameters )
         throws ScmException
     {
         HgUpdateCommand command = new HgUpdateCommand();
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
index 87bb121..33d036a 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
@@ -25,7 +25,7 @@
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.log.DefaultLog;
 import org.apache.maven.scm.log.ScmLogger;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
@@ -42,30 +42,31 @@
  * Common code for executing hg commands.
  *
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgUtils
 {
     /**
      * Map between command and its valid exit codes
      */
-    private static final Map exitCodeMap = new HashMap();
+    private static final Map EXIT_CODE_MAP = new HashMap();
 
     /**
      * Default exit codes for entries not in exitCodeMap
      */
-    private static final List defaultExitCodes = new ArrayList();
+    private static final List DEFAULT_EXIT_CODES = new ArrayList();
 
     /** Setup exit codes*/
     static
     {
-        defaultExitCodes.add( new Integer( 0 ) );
+        DEFAULT_EXIT_CODES.add( new Integer( 0 ) );
 
         //Diff is different
         List diffExitCodes = new ArrayList();
         diffExitCodes.add( new Integer( 0 ) ); //No difference
         diffExitCodes.add( new Integer( 1 ) ); //Conflicts in merge-like or changes in diff-like
         diffExitCodes.add( new Integer( 2 ) ); //Unrepresentable diff changes
-        exitCodeMap.put( HgCommand.DIFF_CMD, diffExitCodes );
+        EXIT_CODE_MAP.put( HgCommandConstants.DIFF_CMD, diffExitCodes );
     }
 
     public static ScmResult execute( HgConsumer consumer, ScmLogger logger, File workingDir, String[] cmdAndArgs )
@@ -81,10 +82,10 @@
             int exitCode = executeCmd( consumer, cmd );
 
             //Return result
-            List exitCodes = defaultExitCodes;
-            if ( exitCodeMap.containsKey( cmdAndArgs[0] ) )
+            List exitCodes = DEFAULT_EXIT_CODES;
+            if ( EXIT_CODE_MAP.containsKey( cmdAndArgs[0] ) )
             {
-                exitCodes = (List) exitCodeMap.get( cmdAndArgs[0] );
+                exitCodes = (List) EXIT_CODE_MAP.get( cmdAndArgs[0] );
             }
             boolean success = exitCodes.contains( new Integer( exitCode ) );
 
@@ -93,9 +94,10 @@
             if ( !success )
             {
                 HgConfig config = new HgConfig( workingDir );
-                providerMsg = "\nEXECUTION FAILED" + "\n  Execution of cmd : " + cmdAndArgs[0] +
-                    " failed with exit code: " + exitCode + "." + "\n  Working directory was: " + "\n    " +
-                    workingDir.getAbsolutePath() + config.toString( workingDir ) + "\n";
+                providerMsg =
+                    "\nEXECUTION FAILED" + "\n  Execution of cmd : " + cmdAndArgs[0] + " failed with exit code: "
+                        + exitCode + "." + "\n  Working directory was: " + "\n    " + workingDir.getAbsolutePath()
+                        + config.toString( workingDir ) + "\n";
                 logger.error( providerMsg );
             }
 
@@ -103,8 +105,9 @@
         }
         catch ( ScmException se )
         {
-            String msg = "EXECUTION FAILED" + "\n  Execution failed before invoking the Hg command. Last exception:" +
-                "\n    " + se.getMessage();
+            String msg =
+                "EXECUTION FAILED" + "\n  Execution failed before invoking the Hg command. Last exception:"
+                    + "\n    " + se.getMessage();
 
             //Add nested cause if any
             if ( se.getCause() != null )
@@ -122,7 +125,7 @@
         throws ScmException
     {
         Commandline cmd = new Commandline();
-        cmd.setExecutable( HgCommand.EXEC );
+        cmd.setExecutable( HgCommandConstants.EXEC );
         cmd.setWorkingDirectory( workingDir.getAbsolutePath() );
         cmd.addArguments( cmdAndArgs );
 
@@ -185,7 +188,7 @@
         throws ScmException
     {
 
-        String[] revCmd = new String[]{HgCommand.REVNO_CMD};
+        String[] revCmd = new String[]{HgCommandConstants.REVNO_CMD};
         HgRevNoConsumer consumer = new HgRevNoConsumer( logger );
         HgUtils.execute( consumer, logger, workingDir, revCmd );
 
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/HgCommandConstants.java
similarity index 95%
rename from maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommand.java
rename to maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java
index bfc2bbc..7b4f4d6 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/HgCommandConstants.java
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-import org.apache.maven.scm.command.Command;
 
 /**
  * Available/Used hg commands.
@@ -28,9 +27,9 @@
  * Eg. "check in" is translated to be "commit" and "push".
  *
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
-public interface HgCommand
-    extends Command
+public class HgCommandConstants
 {
     /**
      * Executable for Hg
@@ -116,5 +115,6 @@
     public static final String VERSION = "version";
 
     public static final String CHECK = "check";
-    String ALL_OPTION = "-A";
+    
+    public static final 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 13b788a..d12f160 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
@@ -36,6 +36,7 @@
  * and detect warnings from hg
  *
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgConsumer
     extends AbstractConsumer
@@ -44,12 +45,12 @@
     /**
      * A list of known keywords from hg
      */
-    private static final Map identifiers = new HashMap();
+    private static final Map IDENTIFIERS = new HashMap();
 
     /**
      * A list of known message prefixes from hg
      */
-    private static final Map messages = new HashMap();
+    private static final Map MESSAGES = new HashMap();
 
     /**
      * Number of lines to keep from Std.Err
@@ -67,25 +68,25 @@
     {
         /** Statuses from hg add
          */
-        identifiers.put( "adding", ScmFileStatus.ADDED );
-        identifiers.put( "unknown", ScmFileStatus.UNKNOWN );
-        identifiers.put( "modified", ScmFileStatus.MODIFIED );
-        identifiers.put( "removed", ScmFileStatus.DELETED );
-        identifiers.put( "renamed", ScmFileStatus.MODIFIED );
+        IDENTIFIERS.put( "adding", ScmFileStatus.ADDED );
+        IDENTIFIERS.put( "unknown", ScmFileStatus.UNKNOWN );
+        IDENTIFIERS.put( "modified", ScmFileStatus.MODIFIED );
+        IDENTIFIERS.put( "removed", ScmFileStatus.DELETED );
+        IDENTIFIERS.put( "renamed", ScmFileStatus.MODIFIED );
 
         /** Statuses from hg status;
          */
-        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
+        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" );
-        messages.put( "hg: ERROR:", "ERROR" );
-        messages.put( "'hg' ", "ERROR" ); // hg isn't found in windows path
+        MESSAGES.put( "hg: WARNING:", "WARNING" );
+        MESSAGES.put( "hg: ERROR:", "ERROR" );
+        MESSAGES.put( "'hg' ", "ERROR" ); // hg isn't found in windows path
     }
 
     public HgConsumer( ScmLogger logger )
@@ -98,6 +99,7 @@
         //override this
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
@@ -122,7 +124,7 @@
             trimmedLine = trimmedLine.trim(); //one or more spaces
         }
 
-        ScmFileStatus status = statusStr != null ? ( (ScmFileStatus) identifiers.get( statusStr.intern() ) ) : null;
+        ScmFileStatus status = statusStr != null ? ( (ScmFileStatus) IDENTIFIERS.get( statusStr.intern() ) ) : null;
         doConsume( status, trimmedLine );
     }
 
@@ -144,7 +146,7 @@
 
     private static String processInputForKnownIdentifiers( String line )
     {
-        for ( Iterator it = identifiers.keySet().iterator(); it.hasNext(); )
+        for ( Iterator it = IDENTIFIERS.keySet().iterator(); it.hasNext(); )
         {
             String id = (String) it.next();
             if ( line.startsWith( id ) )
@@ -157,7 +159,7 @@
 
     private boolean processInputForKnownMessages( String line )
     {
-        for ( Iterator it = messages.keySet().iterator(); it.hasNext(); )
+        for ( Iterator it = MESSAGES.keySet().iterator(); it.hasNext(); )
         {
             String prefix = (String) it.next();
             if ( line.startsWith( prefix ) )
@@ -168,7 +170,7 @@
                     stderr.remove( 0 ); //Rotate list
                 }
                 String message = line.substring( prefix.length() );
-                if ( messages.get( prefix ).equals( "WARNING" ) )
+                if ( MESSAGES.get( prefix ).equals( "WARNING" ) )
                 {
                     getLogger().warn( message );
                 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java
index ed78fca..e8b8312 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java
@@ -19,33 +19,36 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.Iterator;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.add.AbstractAddCommand;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
-
-import java.io.File;
-import java.util.Iterator;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 
 /**
  * Add no recursive.
  *
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgAddCommand
     extends AbstractAddCommand
-    implements HgCommand
+    implements Command
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
     {
         //String[] addCmd = new String[] { ADD_CMD, NO_RECURSE_OPTION };
-        String[] addCmd = new String[]{ADD_CMD, VERBOSE_OPTION};
+        String[] addCmd = new String[] { HgCommandConstants.ADD_CMD, HgCommandConstants.VERBOSE_OPTION };
         addCmd = HgUtils.expandCommandLine( addCmd, fileSet );
 
         File workingDir = fileSet.getBasedir();
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java
index 4f6d6d0..34ea5f0 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java
@@ -30,6 +30,7 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgAddConsumer
     extends HgConsumer
@@ -44,6 +45,7 @@
         this.workingDir = workingDir;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         if ( status != null && status == ScmFileStatus.ADDED )
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
index 904ce67..5613ec8 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
@@ -24,12 +24,13 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.changelog.ChangeLogSet;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -38,25 +39,26 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgChangeLogCommand
     extends AbstractChangeLogCommand
-    implements HgCommand
+    implements Command
 {
-
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository scmProviderRepository,
                                                           ScmFileSet fileSet, Date startDate, Date endDate,
                                                           ScmBranch branch, String datePattern )
         throws ScmException
     {
-        String[] cmd = new String[]{LOG_CMD, VERBOSE_OPTION};
+        String[] cmd = new String[] { HgCommandConstants.LOG_CMD, HgCommandConstants.VERBOSE_OPTION };
         HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(), datePattern );
         ScmResult result = HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd );
 
         List logEntries = consumer.getModifications();
         List inRangeAndValid = new ArrayList();
-        startDate = startDate == null ? new Date( 0 ) : startDate;//From 1. Jan 1970
-        endDate = endDate == null ? new Date() : endDate;//Upto now
+        startDate = startDate == null ? new Date( 0 ) : startDate; // From 1. Jan 1970
+        endDate = endDate == null ? new Date() : endDate; // Upto now
 
         for ( Iterator it = logEntries.iterator(); it.hasNext(); )
         {
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
index ae52194..fb40cd5 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
@@ -32,6 +32,7 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgChangeLogConsumer
     extends HgConsumer
@@ -87,6 +88,7 @@
         return logEntries;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
 
@@ -95,6 +97,7 @@
         doConsume( null, line );
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String line )
     {
         String tmpLine = line;
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java
index bb70f7c..7b15de6 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java
@@ -30,7 +30,7 @@
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.apache.maven.scm.provider.hg.command.status.HgStatusCommand;
 import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository;
@@ -43,11 +43,12 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgCheckInCommand
     extends AbstractCheckInCommand
 {
-
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion tag )
         throws ScmException
@@ -69,8 +70,8 @@
             for ( Iterator it = statusFiles.iterator(); it.hasNext(); )
             {
                 ScmFile file = (ScmFile) it.next();
-                if ( file.getStatus() == ScmFileStatus.ADDED || file.getStatus() == ScmFileStatus.DELETED ||
-                    file.getStatus() == ScmFileStatus.MODIFIED )
+                if ( file.getStatus() == ScmFileStatus.ADDED || file.getStatus() == ScmFileStatus.DELETED
+                    || file.getStatus() == ScmFileStatus.MODIFIED )
                 {
                     commitedFiles.add( new ScmFile( file.getPath(), ScmFileStatus.CHECKED_IN ) );
                 }
@@ -86,7 +87,7 @@
         }
 
         // Commit to local branch
-        String[] commitCmd = new String[]{HgCommand.COMMIT_CMD, HgCommand.MESSAGE_OPTION, message};
+        String[] commitCmd = new String[]{HgCommandConstants.COMMIT_CMD, HgCommandConstants.MESSAGE_OPTION, message};
         commitCmd = HgUtils.expandCommandLine( commitCmd, fileSet );
         ScmResult result =
             HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), commitCmd );
@@ -95,8 +96,8 @@
         HgScmProviderRepository repository = (HgScmProviderRepository) repo;
         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 );
+            String[] pushCmd = new String[]{HgCommandConstants.PUSH_CMD, repository.getURI()};
+            result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd );
         }
 
         return new CheckInScmResult( commitedFiles, result );
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java
index debef22..9e629e6 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java
@@ -23,11 +23,12 @@
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.Command;
 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.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository;
 import org.codehaus.plexus.util.FileUtils;
@@ -38,13 +39,13 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgCheckOutCommand
     extends AbstractCheckOutCommand
-    implements HgCommand
+    implements Command
 {
-
-
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion scmVersion )
         throws ScmException
@@ -64,16 +65,19 @@
         }
 
         // Do the actual checkout
-        String[] checkout_cmd = new String[]{BRANCH_CMD, REVISION_OPTION,
-            scmVersion != null && !StringUtils.isEmpty( scmVersion.getName() ) ? scmVersion.getName() : "tip", url,
-            checkoutDir.getAbsolutePath()};
-        HgConsumer checkout_consumer = new HgConsumer( getLogger() );
-        HgUtils.execute( checkout_consumer, getLogger(), checkoutDir.getParentFile(), checkout_cmd );
+        String[] checkoutCmd = new String[] {
+            HgCommandConstants.BRANCH_CMD,
+            HgCommandConstants.REVISION_OPTION,
+            scmVersion != null && !StringUtils.isEmpty( scmVersion.getName() ) ? scmVersion.getName() : "tip",
+            url,
+            checkoutDir.getAbsolutePath() };
+        HgConsumer checkoutConsumer = new HgConsumer( getLogger() );
+        HgUtils.execute( checkoutConsumer, getLogger(), checkoutDir.getParentFile(), checkoutCmd );
 
         // Do inventory to find list of checkedout files
-        String[] inventory_cmd = new String[]{INVENTORY_CMD};
+        String[] inventoryCmd = new String[] { HgCommandConstants.INVENTORY_CMD };
         HgCheckOutConsumer consumer = new HgCheckOutConsumer( getLogger(), checkoutDir );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), checkoutDir, inventory_cmd );
+        ScmResult result = HgUtils.execute( consumer, getLogger(), checkoutDir, inventoryCmd );
 
         return new CheckOutScmResult( consumer.getCheckedOutFiles(), result );
     }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java
index 3e81b41..89c9f90 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java
@@ -30,6 +30,7 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgCheckOutConsumer
     extends HgConsumer
@@ -45,6 +46,7 @@
         this.workingDirectory = workingDirectory;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String line )
     {
         File file = new File( workingDirectory, line );
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java
index daba80d..a40d1b2 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java
@@ -1,40 +1,45 @@
 package org.apache.maven.scm.provider.hg.command.diff;
 
 /*
- * Copyright 2001-2006 The Apache Software Foundation.
+ * 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
  *
- * Licensed 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
  *
- *      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.
+ * 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.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.Command;
 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.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.codehaus.plexus.util.StringUtils;
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgDiffCommand
     extends AbstractDiffCommand
-    implements HgCommand
+    implements Command
 {
-
+    /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                 ScmVersion startRevision, ScmVersion endRevision )
         throws ScmException
@@ -47,11 +52,11 @@
             {
                 revArg += ".." + endRevision;
             }
-            diffCmd = new String[]{DIFF_CMD, REVISION_OPTION, revArg};
+            diffCmd = new String[] { HgCommandConstants.DIFF_CMD, HgCommandConstants.REVISION_OPTION, revArg };
         }
         else
         {
-            diffCmd = new String[]{DIFF_CMD};
+            diffCmd = new String[] { HgCommandConstants.DIFF_CMD };
         }
 
         diffCmd = HgUtils.expandCommandLine( diffCmd, fileSet );
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java
index 9175809..884d024 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java
@@ -32,32 +32,33 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgDiffConsumer
     extends HgConsumer
 {
 
-    // private final static String MODIFIED_FILE_TOKEN = "=== modified file ";
+    // private static final String MODIFIED_FILE_TOKEN = "=== modified file ";
 
-    private final static String INDEX_TOKEN = "diff -r ";
+    private static final String INDEX_TOKEN = "diff -r ";
 
-    private final static String FILE_SEPARATOR_TOKEN = "===";
+    private static final String FILE_SEPARATOR_TOKEN = "===";
 
-    private final static String START_REVISION_TOKEN = "---";
+    private static final String START_REVISION_TOKEN = "---";
 
-    private final static String END_REVISION_TOKEN = "+++";
+    private static final String END_REVISION_TOKEN = "+++";
 
-    private final static String ADDED_LINE_TOKEN = "+";
+    private static final String ADDED_LINE_TOKEN = "+";
 
-    private final static String REMOVED_LINE_TOKEN = "-";
+    private static final String REMOVED_LINE_TOKEN = "-";
 
-    private final static String UNCHANGED_LINE_TOKEN = " ";
+    private static final String UNCHANGED_LINE_TOKEN = " ";
 
-    private final static String CHANGE_SEPARATOR_TOKEN = "@@";
+    private static final String CHANGE_SEPARATOR_TOKEN = "@@";
 
-    private final static String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
+    private static final String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
 
-    private final static int HASH_ID_LEN = 12;
+    private static final int HASH_ID_LEN = 12;
 
     private ScmLogger logger;
 
@@ -85,6 +86,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( INDEX_TOKEN ) )
@@ -125,9 +127,9 @@
             // skip, though could parse to verify filename, end revision
             patch.append( line ).append( "\n" );
         }
-        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
-            line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN ) ||
-            line.equals( NO_NEWLINE_TOKEN ) )
+        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN )
+            || line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN )
+            || line.equals( NO_NEWLINE_TOKEN ) )
         {
             // add to buffer
             currentDifference.append( line ).append( "\n" );
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
index 9b6eda4..388118b 100644
--- 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
@@ -1,14 +1,5 @@
 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
@@ -28,43 +19,67 @@
  * under the License.
  */
 
+import java.io.File;
+
+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.Command;
+import org.apache.maven.scm.command.list.AbstractListCommand;
+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.command.HgCommandConstants;
+
 /**
  * Get a list of all files in the repository
- * 
+ *
  * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ * @version $Id$
  */
-public class HgListCommand extends AbstractListCommand
-        implements HgCommand 
+public class HgListCommand
+    extends AbstractListCommand
+    implements Command
 {
+    /** {@inheritDoc} */
+    protected ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet,
+                                                boolean recursive, ScmVersion scmVersion )
+        throws ScmException
+    {
 
-    protected ListScmResult executeListCommand(ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion scmVersion) throws ScmException {
-
-        if ( fileSet.getFiles().length != 0 )
+        if ( fileSet.getFileList().size() != 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};
+        // build the command
+        String[] listCmd = new String[] { HgCommandConstants.STATUS_CMD, HgCommandConstants.ALL_OPTION };
 
         // keep the command about in string form for reporting
         StringBuffer cmd = new StringBuffer();
-        for (int i = 0; i < listCmd.length; i++) {
+        for ( int i = 0; i < listCmd.length; i++ )
+        {
             String s = listCmd[i];
-            cmd.append(s);
-            if (i < listCmd.length - 1)
-                cmd.append(" ");
+            cmd.append( s );
+            if ( i < listCmd.length - 1 )
+            {
+                cmd.append( " " );
+            }
         }
 
         HgListConsumer consumer = new HgListConsumer( getLogger() );
 
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, listCmd);
+        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, listCmd );
 
-        if (result.isSuccess()) {
-            return new ListScmResult(consumer.getFiles(), result);
-        } else {
+        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
index 8125a60..f0fcaf6 100644
--- 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
@@ -1,13 +1,5 @@
 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
@@ -27,12 +19,23 @@
  * under the License.
  */
 
+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;
+
 /**
  * Get a list of all files in the repository
  *
  * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ * @version $Id$
  */
-public class HgListConsumer extends HgConsumer {
+public class HgListConsumer
+    extends HgConsumer
+{
 
     private List files = new ArrayList();
 
@@ -41,12 +44,14 @@
         super( logger );
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
-        files.add(new ScmFile(trimmedLine, status));
+        files.add( new ScmFile( trimmedLine, status ) );
     }
 
-    public List getFiles() {
+    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/remove/HgRemoveCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java
index aaebde0..dd65507 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java
@@ -22,26 +22,29 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.remove.AbstractRemoveCommand;
 import org.apache.maven.scm.command.remove.RemoveScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 
 import java.io.File;
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgRemoveCommand
     extends AbstractRemoveCommand
-    implements HgCommand
+    implements Command
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
 
-        String[] command = new String[]{REMOVE_CMD};
+        String[] command = new String[] { HgCommandConstants.REMOVE_CMD };
         HgUtils.expandCommandLine( command, fileSet );
 
         File workingDir = fileSet.getBasedir();
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java
index 68028ec..6098245 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java
@@ -30,6 +30,7 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgRemoveConsumer
     extends HgConsumer
@@ -44,6 +45,7 @@
         this.workingDir = workingDir;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         if ( status != null && status == ScmFileStatus.DELETED )
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java
index aeeffcc..2ef1f0f 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java
@@ -19,23 +19,26 @@
  * under the License.
  */
 
+import java.io.File;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 import org.apache.maven.scm.command.status.AbstractStatusCommand;
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.hg.HgUtils;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 
-import java.io.File;
-
-/**
+/*
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * 
+ * @version $Id$
  */
 public class HgStatusCommand
     extends AbstractStatusCommand
-    implements HgCommand
+    implements Command
 {
 
     public HgStatusCommand()
@@ -43,13 +46,14 @@
         super();
     }
 
+    /** {@inheritDoc} */
     public StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
 
         File workingDir = fileSet.getBasedir();
         HgStatusConsumer consumer = new HgStatusConsumer( getLogger(), workingDir );
-        String[] statusCmd = new String[]{STATUS_CMD};
+        String[] statusCmd = new String[] { HgCommandConstants.STATUS_CMD };
         ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, statusCmd );
 
         return new StatusScmResult( consumer.getStatus(), result );
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java
index 523262e..0efabd9 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java
@@ -30,6 +30,7 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 class HgStatusConsumer
     extends HgConsumer
@@ -38,13 +39,13 @@
 
     private final File workingDir;
 
-
     HgStatusConsumer( ScmLogger logger, File workingDir )
     {
         super( logger );
         this.workingDir = workingDir;
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         //Only include real files (not directories)
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
index 128d15a..9482099 100644
--- 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
@@ -19,33 +19,42 @@
  * under the License.
  */
 
-import org.apache.maven.scm.*;
+import java.io.File;
+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;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.Command;
 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.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.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.apache.maven.scm.provider.hg.command.inventory.HgListConsumer;
+import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository;
 import org.codehaus.plexus.util.StringUtils;
 
-import java.io.File;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ArrayList;
-
 /**
  * Tag
  *
  * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ * @version $Id$
  */
 public class HgTagCommand
-        extends AbstractTagCommand
-        implements HgCommand
+    extends AbstractTagCommand
+    implements Command
 {
-
-    protected ScmResult executeTagCommand(ScmProviderRepository scmProviderRepository, ScmFileSet fileSet, String tag, String message) throws ScmException {
+    /** {@inheritDoc} */
+    protected ScmResult executeTagCommand( ScmProviderRepository scmProviderRepository, ScmFileSet fileSet, String tag,
+                                           String message )
+        throws ScmException
+    {
 
         if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
         {
@@ -59,56 +68,67 @@
 
         File workingDir = fileSet.getBasedir();
 
-
         // build the command
-        String[] tagCmd = new String[]{TAG_CMD, MESSAGE_OPTION, message, tag };
+        String[] tagCmd = new String[] { HgCommandConstants.TAG_CMD, HgCommandConstants.MESSAGE_OPTION, message, tag };
 
         // keep the command about in string form for reporting
-        StringBuffer cmd = joinCmd(tagCmd);
+        StringBuffer cmd = joinCmd( tagCmd );
 
         HgTagConsumer consumer = new HgTagConsumer( getLogger() );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, tagCmd);
+        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, tagCmd );
         HgScmProviderRepository repository = (HgScmProviderRepository) scmProviderRepository;
-        if (result.isSuccess()) {
+        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 );
+                String[] pushCmd = new String[] { HgCommandConstants.PUSH_CMD, repository.getURI() };
+                result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd );
             }
-        } else {
+        }
+        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()) {
+        String[] listCmd = new String[] { HgCommandConstants.INVENTORY_CMD };
+        HgListConsumer listconsumer = new HgListConsumer( getLogger() );
+        result = HgUtils.execute( listconsumer, getLogger(), fileSet.getBasedir(), listCmd );
+        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"))
+                if ( !f.getPath().endsWith( ".hgtags" ) )
+                {
                     fileList.add( new ScmFile( f.getPath(), ScmFileStatus.TAGGED ) );
+                }
             }
 
-            return new TagScmResult(fileList, result);
-        } else {
+            return new TagScmResult( fileList, result );
+        }
+        else
+        {
             throw new ScmException( "Error while executing command " + cmd.toString() );
         }
     }
 
-    private StringBuffer joinCmd(String[] cmd) {
+    private StringBuffer joinCmd( String[] cmd )
+    {
         StringBuffer result = new StringBuffer();
-        for (int i = 0; i < cmd.length; i++) {
+        for ( int i = 0; i < cmd.length; i++ )
+        {
             String s = cmd[i];
-            result.append(s);
-            if (i < cmd.length - 1)
-                result.append(" ");
+            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
index bed400c..7d6be59 100644
--- 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
@@ -25,6 +25,7 @@
 
 /**
  * @author <a href="mailto:ryan@darksleep.com">ryan daum</a>
+ * @version $Id$
  */
 public class HgTagConsumer
         extends HgConsumer
@@ -34,8 +35,8 @@
         super( logger );
     }
 
+    /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
-    {       
+    {
     }
-
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java
index 46a84a9..c4b2dba 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java
@@ -19,47 +19,51 @@
  * under the License.
  */
 
-import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.ScmFile;
-import org.apache.maven.scm.ScmFileSet;
-import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.ScmResult;
-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;
-import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
-import org.apache.maven.scm.provider.ScmProviderRepository;
-import org.apache.maven.scm.provider.hg.HgUtils;
-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.changelog.HgChangeLogCommand;
-import org.apache.maven.scm.provider.hg.command.diff.HgDiffConsumer;
-import org.codehaus.plexus.util.StringUtils;
-
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.Command;
+import org.apache.maven.scm.command.changelog.ChangeLogCommand;
+import org.apache.maven.scm.command.update.AbstractUpdateCommand;
+import org.apache.maven.scm.command.update.UpdateScmResult;
+import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.hg.HgUtils;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
+import org.apache.maven.scm.provider.hg.command.HgConsumer;
+import org.apache.maven.scm.provider.hg.command.changelog.HgChangeLogCommand;
+import org.apache.maven.scm.provider.hg.command.diff.HgDiffConsumer;
+import org.codehaus.plexus.util.StringUtils;
+
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgUpdateCommand
     extends AbstractUpdateCommand
-    implements HgCommand
+    implements Command
 {
-
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion tag )
         throws ScmException
     {
         File workingDir = fileSet.getBasedir();
 
         // Update branch
-        String[] update_cmd = new String[]{HgCommand.PULL_CMD, REVISION_OPTION,
-            tag != null && !StringUtils.isEmpty( tag.getName() ) ? tag.getName() : "tip"};
-        ScmResult updateResult = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), workingDir, update_cmd );
+        String[] updateCmd = new String[] {
+            HgCommandConstants.PULL_CMD,
+            HgCommandConstants.REVISION_OPTION,
+            tag != null && !StringUtils.isEmpty( tag.getName() ) ? tag.getName() : "tip" };
+        ScmResult updateResult = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), workingDir, updateCmd );
 
         if ( !updateResult.isSuccess() )
         {
@@ -69,7 +73,10 @@
         // Find changes from last revision
         int currentRevision = HgUtils.getCurrentRevisionNumber( getLogger(), workingDir );
         int previousRevision = currentRevision - 1;
-        String[] diffCmd = new String[]{DIFF_CMD, REVISION_OPTION, "" + previousRevision};
+        String[] diffCmd = new String[] {
+            HgCommandConstants.DIFF_CMD,
+            HgCommandConstants.REVISION_OPTION,
+            "" + previousRevision };
         HgDiffConsumer diffConsumer = new HgDiffConsumer( getLogger(), workingDir );
         ScmResult diffResult = HgUtils.execute( diffConsumer, getLogger(), workingDir, diffCmd );
 
@@ -95,7 +102,6 @@
         return new UpdateScmResultWithRevision( updatedFiles, changes, String.valueOf( currentRevision ), diffResult );
     }
 
-
     protected ChangeLogCommand getChangeLogCommand()
     {
         HgChangeLogCommand command = new HgChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java
index ce390f2..c80eaa7 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java
@@ -26,6 +26,7 @@
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
+ * @version $Id$
  */
 public class HgScmProviderRepository
     extends ScmProviderRepositoryWithHost
@@ -58,8 +59,8 @@
 
     public String getURI()
     {
-        return protocol + ( needsAuthentication() ? addUser() + addPassword() + addAt() : "" ) + addHost() + addPort() +
-            addPath();
+        return protocol + ( needsAuthentication() ? addUser() + addPassword() + addAt() : "" ) + addHost()
+            + addPort() + addPath();
     }
 
     /**
@@ -93,8 +94,9 @@
 
         if ( msg != null )
         {
-            msg = "Something could be wrong about the repository URL: " + orgUrl + "\nReason: " + msg +
-                "\nCheck http://maven.apache.org/scm for usage and hints.";
+            msg =
+                "Something could be wrong about the repository URL: " + orgUrl + "\nReason: " + msg
+                    + "\nCheck http://maven.apache.org/scm for usage and hints.";
         }
         return msg;
     }
@@ -142,35 +144,29 @@
     {
         if ( protocol != FILE )
         {
-            String[] split = url.split( ":" );
-            if ( split.length == 2 )
+            int indexSlash = url.indexOf( "/" );
+
+            String hostPort = url;
+            if ( indexSlash > 0 )
             {
-                setHost( split[0] );
-                url = url.substring( split[0].length() + 1 );
-                split = split[1].split( "/" );
-                if ( split.length == 2 )
-                {
-                    url = url.substring( split[0].length() );
-                    try
-                    {
-                        setPort( Integer.valueOf( split[0] ).intValue() );
-                    }
-                    catch ( NumberFormatException e )
-                    {
-                        //Ignore - error will manifest itself later.
-                    }
-                }
+                hostPort = url.substring( 0, indexSlash );
+            }
+
+            int indexColon = hostPort.indexOf( ":" );
+            if ( indexColon > 0 )
+            {
+                setHost( hostPort.substring( 0, indexColon ) );
+                url = StringUtils.replace( url, getHost(), "" );
+                setPort( Integer.parseInt( hostPort.substring( indexColon + 1 ) ) );
+                url = StringUtils.replace( url, ":" + getPort(), "" );
             }
             else
             {
-                split = url.split( "/" );
-                if ( split.length > 1 )
-                {
-                    url = url.substring( split[0].length() );
-                    setHost( split[0] );
-                }
+                setHost( hostPort );
+                url = StringUtils.replace( url, getHost(), "" );
             }
         }
+
         return url;
     }
 
@@ -254,9 +250,11 @@
         return protocol == SFTP || protocol == FTP || protocol == HTTPS || protocol == AFTP;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
-        return "Hg Repository Interpreted from: " + orgUrl + ":\nProtocol: " + protocol + "\nHost: " + getHost() +
-            "\nPort: " + getPort() + "\nUsername: " + getUser() + "\nPassword: " + getPassword() + "\nPath: " + path;
+        return "Hg Repository Interpreted from: " + orgUrl + ":\nProtocol: " + protocol + "\nHost: " + getHost()
+            + "\nPort: " + getPort() + "\nUsername: " + getUser() + "\nPassword: " + getPassword() + "\nPath: "
+            + path;
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/site/site.xml b/maven-scm-providers/maven-scm-provider-hg/src/site/site.xml
new file mode 100644
index 0000000..206b0c4
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-hg/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM HG Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java
index e66c37b..70de372 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java
@@ -21,7 +21,7 @@
 
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
-import org.apache.maven.scm.provider.hg.command.HgCommand;
+import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 
@@ -78,7 +78,7 @@
         }
 
         // Init repository
-        String[] init_cmd = new String[]{HgCommand.INIT_CMD};
+        String[] init_cmd = new String[]{HgCommandConstants.INIT_CMD};
         HgUtils.execute( WORKING_DIR, init_cmd );
 
         // Create and add files to repository
@@ -102,7 +102,7 @@
         }
 
         //Add to repository
-        String[] add_cmd = new String[]{HgCommand.ADD_CMD};
+        String[] add_cmd = new String[]{HgCommandConstants.ADD_CMD};
         ScmFileSet filesToAdd = new ScmFileSet( new File( "" ), files );
         add_cmd = HgUtils.expandCommandLine( add_cmd, filesToAdd );
         ScmResult result = HgUtils.execute( WORKING_DIR, add_cmd );
@@ -114,7 +114,7 @@
         }
 
         // Commit the initial repository
-        String[] commit_cmd = new String[]{HgCommand.COMMIT_CMD, HgCommand.MESSAGE_OPTION, COMMIT_MESSAGE};
+        String[] commit_cmd = new String[]{HgCommandConstants.COMMIT_CMD, HgCommandConstants.MESSAGE_OPTION, COMMIT_MESSAGE};
         result = HgUtils.execute( WORKING_DIR, commit_cmd );
         if ( !result.isSuccess() )
         {
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java
index eccd310..f5b5cc2 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java
@@ -63,19 +63,19 @@
         String url = "ssh://username:password@myhost.com/~/dev/maven";
         HgScmProviderRepository repo = new HgScmProviderRepository( url );
         assertEquals( url, repo.getURI() );
-        //assertNull( repo.validateURI() );
+        assertNull( repo.validateURI() );
 
         //2. Test with absolute path
         url = "ssh://username:password@myhost.com/home/username/dev/maven";
         repo = new HgScmProviderRepository( url );
         assertEquals( url, repo.getURI() );
-        //assertNull( repo.validateURI() );
+        assertNull( repo.validateURI() );
 
         //3. Test with passwordless (Public-key auth)
         String incompleteUrl = "ssh://username@myhost.com/home/username/dev/maven";
         repo = new HgScmProviderRepository( incompleteUrl );
-        assertEquals( incompleteUrl, repo.getURI() ); //T
-        //assertNull( repo.validateURI() );
+        assertEquals( incompleteUrl, repo.getURI() );
+        assertNull( repo.validateURI() );
     }
 
     public void testHTTPRepo()
@@ -84,24 +84,45 @@
         //1. Test with relativ path
         String url = "http://www.myhost.com/~username/dev/maven";
         HgScmProviderRepository repo = new HgScmProviderRepository( url );
-        //assertEquals( url, repo.getURI() );
-        //assertNull( repo.validateURI() );
+        assertEquals( url, repo.getURI() );
+        assertNull( repo.validateURI() );
 
         //2. Test with absolute path
         url = "http://www.myhost.com/dev/maven";
         repo = new HgScmProviderRepository( url );
         assertEquals( url, repo.getURI() );
-        //assertNull( repo.validateURI() );
+        assertNull( repo.validateURI() );
 
         //3. Test with unessesary authentication information
         repo.setPassword( "Password" );
         repo.setUser( "User" );
         repo.setPassphrase( "Passphrase" );
         assertEquals( "http://www.myhost.com/dev/maven", repo.getURI() );
-        //assertNull( repo.validateURI() );
+        assertNull( repo.validateURI() );
         repo.setPort( 81 );
-        //assertEquals( "http://www.myhost.com:81/dev/maven", repo.getURI() );
-        //assertNull( repo.validateURI() );
+        assertEquals( "http://www.myhost.com:81/dev/maven", repo.getURI() );
+        assertNull( repo.validateURI() );
         assertTrue( true );
     }
+
+    /**
+     * Test SCM-391
+     *
+     * @throws Exception
+     */
+    public void testParseHostAndPort()
+        throws Exception
+    {
+        String url = "http://localhost:8000/";
+        HgScmProviderRepository repo = new HgScmProviderRepository( url );
+        assertEquals( repo.getURI(), url );
+
+        url = "http://localhost/";
+        repo = new HgScmProviderRepository( url );
+        assertEquals( repo.getURI(), url );
+
+        url = "http://www.myhost.com:81/dev/maven";
+        repo = new HgScmProviderRepository( url );
+        assertEquals( repo.getURI(), url );
+    }
 }
\ 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 7161775..c6d191e 100644
--- a/maven-scm-providers/maven-scm-provider-local/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-local/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,19 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-local</artifactId>
+
   <name>Maven SCM Local Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for Local.</description>
+
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
index 43ad89c..4bb78a2 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
@@ -51,11 +51,13 @@
 public class LocalScmProvider
     extends AbstractScmProvider
 {
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "local";
     }
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
@@ -63,9 +65,8 @@
 
         if ( tokens.length != 2 )
         {
-            throw new ScmRepositoryException(
-                "The connection string didn't contain the expected number of tokens. Expected 2 tokens but got " +
-                    tokens.length + " tokens." );
+            throw new ScmRepositoryException( "The connection string didn't contain the expected number of tokens. "
+                + "Expected 2 tokens but got " + tokens.length + " tokens." );
         }
 
         // ----------------------------------------------------------------------
@@ -134,9 +135,7 @@
         return module;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -147,6 +146,7 @@
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                             CommandParameters parameters )
         throws ScmException
@@ -158,9 +158,7 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -172,9 +170,7 @@
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -186,18 +182,7 @@
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * List each element (files and directories) of <B>fileSet</B> as they exist in the repository.
-     *
-     * @param repository the source control system
-     * @param fileSet    the files to list
-     * @param parameters
-     * @return The list of files in the repository
-     * @throws org.apache.maven.scm.NoSuchCommandScmException
-     *          unless overriden by subclass
-     * @throws org.apache.maven.scm.ScmException
-     *
-     */
+    /** {@inheritDoc} */
     protected ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -208,9 +193,7 @@
         return (ListScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/add/LocalAddCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/add/LocalAddCommand.java
index a5a49f9..be5e6b5 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/add/LocalAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/add/LocalAddCommand.java
@@ -42,6 +42,7 @@
     extends AbstractAddCommand
     implements LocalCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
index c7873ba..57c9aed 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
@@ -46,6 +46,7 @@
 public class LocalChangeLogCommand
     extends AbstractChangeLogCommand
 {
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
@@ -129,6 +130,7 @@
                             {
                                 if ( endDate.after( modifiedDate ) || endDate.equals( modifiedDate ) )
                                 {
+                                    // nop
                                 }
                                 else
                                 {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
index cfcc9a8..14ca49b 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
@@ -47,6 +47,7 @@
     extends AbstractCheckInCommand
     implements LocalCommand
 {
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
index a171c99..b161f77 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
@@ -47,6 +47,7 @@
     extends AbstractCheckOutCommand
     implements LocalCommand
 {
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
index 97a4c44..122eb55 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
@@ -42,16 +42,7 @@
 public class LocalListCommand
     extends AbstractListCommand
 {
-    /**
-     * List contents of the remote repository
-     *
-     * @param repo      what to list
-     * @param fileSet   the files to list
-     * @param recursive whether list should return subfolder listing
-     * @return the list of files
-     * @throws org.apache.maven.scm.ScmException
-     *
-     */
+    /** {@inheritDoc} */
     protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
                                                 ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java
index 72227a3..6821d73 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListScmResult.java
@@ -1,5 +1,24 @@
 package org.apache.maven.scm.provider.local.command.list;
 
+/*
+ * 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.command.list.ListScmResult;
 
 import java.util.List;
@@ -13,6 +32,6 @@
 {
     public LocalListScmResult( String commandLine, List files )
     {
-        super( commandLine, files);
+        super( commandLine, files );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
index 7b4bf88..07daaad 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
@@ -49,6 +49,7 @@
     extends AbstractUpdateCommand
     implements LocalCommand
 {
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
@@ -85,8 +86,8 @@
 
         if ( !baseDestination.exists() && !baseDestination.isDirectory() )
         {
-            throw new ScmException( "The destination directory isn't a directory or doesn't exist (" +
-                baseDestination.getAbsolutePath() + ")." );
+            throw new ScmException( "The destination directory isn't a directory or doesn't exist ("
+                + baseDestination.getAbsolutePath() + ")." );
         }
 
         List updatedFiles;
@@ -199,9 +200,7 @@
         return updatedFiles;
     }
 
-    /**
-     * @see org.apache.maven.scm.command.update.AbstractUpdateCommand#getChangeLogCommand()
-     */
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         return new LocalChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
index db63da0..14e1a7d 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
@@ -56,6 +56,10 @@
 
     /**
      * Builds LocalScmMetadata based on contents of repository
+     *
+     * @param repository
+     * @return
+     * @throws IOException if any
      */
     public LocalScmMetadata buildMetadata( File repository )
         throws IOException
@@ -68,6 +72,10 @@
 
     /**
      * Writes metadata file
+     *
+     * @param destinationDir
+     * @param metadata
+     * @throws IOException if any
      */
     public void writeMetadata( File destinationDir, LocalScmMetadata metadata )
         throws IOException
diff --git a/maven-scm-providers/maven-scm-provider-local/src/site/site.xml b/maven-scm-providers/maven-scm-provider-local/src/site/site.xml
new file mode 100644
index 0000000..aa27ae3
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-local/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Local Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommandTckTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommandTckTest.java
index a62162c..7425838 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommandTckTest.java
@@ -30,7 +30,7 @@
 public class LocalCheckInCommandTckTest
     extends CheckInCommandTckTest
 {
-    private final static String moduleName = "checkin-tck";
+    private static final String moduleName = "checkin-tck";
 
     public String getScmUrl()
         throws Exception
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
index e50975c..940119b 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
@@ -47,7 +47,7 @@
 public class LocalUpdateCommandTckTest
     extends UpdateCommandTckTest
 {
-    private final static String moduleName = "update-tck";
+    private static final String moduleName = "update-tck";
 
     public String getScmUrl()
         throws Exception
diff --git a/maven-scm-providers/maven-scm-provider-perforce/LICENSE.txt b/maven-scm-providers/maven-scm-provider-perforce/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/maven-scm-providers/maven-scm-provider-perforce/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/maven-scm-providers/maven-scm-provider-perforce/NOTICE.txt b/maven-scm-providers/maven-scm-provider-perforce/NOTICE.txt
deleted file mode 100644
index 3f59805..0000000
--- a/maven-scm-providers/maven-scm-provider-perforce/NOTICE.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
diff --git a/maven-scm-providers/maven-scm-provider-perforce/checkstyle-license.txt b/maven-scm-providers/maven-scm-provider-perforce/checkstyle-license.txt
deleted file mode 100644
index e526f7d..0000000
--- a/maven-scm-providers/maven-scm-provider-perforce/checkstyle-license.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-/* ====================================================================
- * Copyright 2003-2004 The Apache Software Foundation.
- *
- * Licensed 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.
- * ====================================================================
- */
diff --git a/maven-scm-providers/maven-scm-provider-perforce/pom.xml b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
index f70f1a8..cc6645f 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-perforce/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,19 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-perforce</artifactId>
+
   <name>Maven SCM Perforce Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for Perforce (http://www.perforce.com/).</description>
+
   <dependencies>
     <dependency>
       <groupId>regexp</groupId>
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java
index 5f23615..3214ee7 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java
@@ -129,8 +129,8 @@
         {
             if ( host != null )
             {
-                getLogger().warn( "Username as part of path is deprecated, the new format is " +
-                    "scm:perforce:[username@]host:port:path_to_repository" );
+                getLogger().warn( "Username as part of path is deprecated, the new format is "
+                    + "scm:perforce:[username@]host:port:path_to_repository" );
             }
 
             user = path.substring( 0, path.indexOf( "@" ) );
@@ -145,9 +145,7 @@
         return "perforce";
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     protected ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                             CommandParameters parameters )
         throws ScmException
@@ -300,6 +298,9 @@
      * //depot/foo/bar -> //depot/foo/bar/...
      * //depot/foo/bar/ -> //depot/foo/bar/...
      * //depot/foo/bar/... -> //depot/foo/bar/...
+     *
+     * @param repoPath
+     * @return
      */
     public static String getCanonicalRepoPath( String repoPath )
     {
@@ -319,11 +320,11 @@
 
     private static final String NEWLINE = "\r\n";
 
-    /* 
+    /*
      * Clientspec name can be overridden with the system property below.  I don't
      * know of any way for this code to get access to maven's settings.xml so this
      * is the best I can do.
-     * 
+     *
      * Sample clientspec:
 
      Client: mperham-mikeperham-dt-maven
@@ -460,9 +461,9 @@
                 log.debug( "Actual POM location: " + loc );
                 if ( !repo.getPath().equals( loc ) )
                 {
-                    log.info( "The SCM location in your pom.xml (" + repo.getPath() +
-                        ") is not equal to the depot location (" + loc +
-                        ").  This happens frequently with branches.  " + "Ignoring the SCM location." );
+                    log.info( "The SCM location in your pom.xml (" + repo.getPath()
+                        + ") is not equal to the depot location (" + loc
+                        + ").  This happens frequently with branches.  " + "Ignoring the SCM location." );
                 }
             }
         }
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java
index a2289c1..27d19b5 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java
@@ -58,6 +58,7 @@
  * command line creation.
  *
  * @author mperham
+ * @version $Id: $
  */
 public class PerforceInfoCommand
     extends AbstractCommand
@@ -100,6 +101,7 @@
         return singleton;
     }
 
+    /** {@inheritDoc} */
     protected ScmResult executeCommand( ScmProviderRepository repo, ScmFileSet scmFileSet,
                                         CommandParameters commandParameters )
         throws ScmException
@@ -125,19 +127,19 @@
                 {
                     if ( line.indexOf( "Client unknown." ) == -1 )
                     {
-                    	throw new IllegalStateException( "Unexpected results from 'p4 info' command: " + line );
+                        throw new IllegalStateException( "Unexpected results from 'p4 info' command: " + line );
                     }
-                    else 
+                    else
                     {
-                    	getLogger().debug( "Cannot find client.");
-                    	entries.put( "Client root", "" );
+                        getLogger().debug( "Cannot find client." );
+                        entries.put( "Client root", "" );
                     }
                 }
-                else 
+                else
                 {
-                	String key = line.substring( 0, idx );
-                	String value = line.substring( idx + 1 ).trim();
-                	entries.put( key, value );
+                    String key = line.substring( 0, idx );
+                    String value = line.substring( idx + 1 ).trim();
+                    entries.put( key, value );
                 }
             }
         }
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceVerbMapper.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceVerbMapper.java
index 456ff3c..c9f2813 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceVerbMapper.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceVerbMapper.java
@@ -30,27 +30,27 @@
  */
 public class PerforceVerbMapper
 {
-    private static final Map map = new HashMap();
+    private static final Map VERB = new HashMap();
 
     static
     {
         // Perforce uses different tenses sometimes so we need to map
         // the different tenses to the same status.
-        map.put( "add", ScmFileStatus.ADDED );
-        map.put( "added", ScmFileStatus.ADDED );
-        map.put( "delete", ScmFileStatus.DELETED );
-        map.put( "deleted", ScmFileStatus.DELETED );
-        map.put( "edit", ScmFileStatus.MODIFIED );
-        map.put( "edited", ScmFileStatus.MODIFIED );
-        map.put( "updating", ScmFileStatus.UPDATED );
-        map.put( "updated", ScmFileStatus.UPDATED );
+        VERB.put( "add", ScmFileStatus.ADDED );
+        VERB.put( "added", ScmFileStatus.ADDED );
+        VERB.put( "delete", ScmFileStatus.DELETED );
+        VERB.put( "deleted", ScmFileStatus.DELETED );
+        VERB.put( "edit", ScmFileStatus.MODIFIED );
+        VERB.put( "edited", ScmFileStatus.MODIFIED );
+        VERB.put( "updating", ScmFileStatus.UPDATED );
+        VERB.put( "updated", ScmFileStatus.UPDATED );
         // UNKNOWN means we just ignore this verb
-        map.put( "refreshing", ScmFileStatus.UNKNOWN );
+        VERB.put( "refreshing", ScmFileStatus.UNKNOWN );
     }
 
     public static ScmFileStatus toStatus( String verb )
     {
-        ScmFileStatus stat = (ScmFileStatus) map.get( verb );
+        ScmFileStatus stat = (ScmFileStatus) VERB.get( verb );
         if ( stat == null )
         {
             // XXX testing only
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java
index 23491dc..22cc9bc 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java
@@ -37,10 +37,12 @@
  * <p/>
  * <pre>
  * p4 where pom.xml
- * //depot/modules/fabric/trunk/pom.xml //mikeperham-dt/depot/modules/fabric/trunk/pom.xml d:\perforce\depot\modules\fabric\trunk\pom.xml
+ * //depot/modules/fabric/trunk/pom.xml //mikeperham-dt/depot/modules/fabric/trunk/pom.xml
+ * d:\perforce\depot\modules\fabric\trunk\pom.xml
  * </pre>
  *
  * @author mperham
+ * @version $Id: $
  */
 public class PerforceWhereCommand
 {
@@ -102,7 +104,7 @@
                 path = line.substring( 0, line.lastIndexOf( "//" ) - 1 );
             }
             // Check for errors
-            while( ( line = brErr.readLine() ) != null )
+            while ( ( line = brErr.readLine() ) != null )
             {
                 if ( line.indexOf( "not in client view" ) != -1 )
                 {
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddCommand.java
index 51e4bf6..9ec1cc0 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddCommand.java
@@ -47,6 +47,7 @@
     implements PerforceCommand
 {
 
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet files, String message,
                                            boolean binary )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
index 0221647..4ac248b 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java
@@ -60,6 +60,7 @@
         return additions;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( "... " ) )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java
index 2d7634f..c8ad9a4 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java
@@ -48,6 +48,7 @@
     implements PerforceCommand
 {
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
index 8f541af..dc2f015 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumer.java
@@ -101,7 +101,7 @@
 
     private String userDatePattern;
 
-    private static final String pattern = "^\\.\\.\\. #(\\d+) " + // revision number
+    private static final String PATTERN = "^\\.\\.\\. #(\\d+) " + // revision number
         "change (\\d+) .* " + // changelist number
         "on (.*) " + // date
         "by (.*)@"; // author
@@ -118,7 +118,7 @@
 
         try
         {
-            revisionRegexp = new RE( pattern );
+            revisionRegexp = new RE( PATTERN );
         }
         catch ( RESyntaxException ignored )
         {
@@ -139,6 +139,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         switch ( status )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
index 9121897..2eca5a7 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
@@ -50,7 +50,7 @@
     extends AbstractCheckInCommand
     implements PerforceCommand
 {
-
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet files, String message,
                                                       ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
index 5315306..39dee1e 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java
@@ -89,10 +89,11 @@
      * //depot/modules/cordoba/runtime-ear/Foo.java#2 Submit validation failed --
      * fix problems then use 'p4 submit -c 80837'. 'checkstyle' validation
      * failed:
-     * 
+     *
      * depot/modules/cordoba/runtime-ear/Foo.java:3:1: Got an exception -
      * expecting EOF, found '}'
      */
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( "... " ) )
@@ -147,6 +148,7 @@
             case STATE_ERROR:
                 error( line );
                 break;
+            default:
         }
     }
 
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
index 402daa4..ee33280 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
@@ -59,6 +59,8 @@
      * 1) A clientspec will be created or updated which holds a temporary
      * mapping from the repo path to the target directory.
      * 2) This clientspec is sync'd to pull all the files onto the client
+     *
+     * {@inheritDoc}
      */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet files,
                                                         ScmVersion version )
@@ -69,7 +71,7 @@
 
         actualLocation = PerforceScmProvider.getRepoPath( getLogger(), prepo, files.getBasedir() );
 
-        String specname = PerforceScmProvider.getClientspecName(getLogger(), prepo, workingDirectory );
+        String specname = PerforceScmProvider.getClientspecName( getLogger(), prepo, workingDirectory );
         PerforceCheckOutConsumer consumer = new PerforceCheckOutConsumer( specname, actualLocation );
         getLogger().info( "Checkout working directory: " + workingDirectory );
         Commandline cl = null;
@@ -78,7 +80,7 @@
         try
         {
             // Ahhh, glorious Perforce.  Create and update of clientspecs is the exact
-            // same operation so we don't need to distinguish between the two modes. 
+            // same operation so we don't need to distinguish between the two modes.
             cl = PerforceScmProvider.createP4Command( prepo, workingDirectory );
             cl.createArgument().setValue( "client" );
             cl.createArgument().setValue( "-i" );
@@ -88,7 +90,7 @@
             // Write clientspec to STDIN
             OutputStream out = proc.getOutputStream();
             DataOutputStream dos = new DataOutputStream( out );
-            String client = PerforceScmProvider.createClientspec(getLogger(), prepo, workingDirectory, actualLocation );
+            String client = PerforceScmProvider.createClientspec( getLogger(), prepo, workingDirectory, actualLocation );
             getLogger().debug( "Updating clientspec:\n" + client );
             dos.write( client.getBytes() );
             dos.close();
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
index 6f7e55b..54a1959 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java
@@ -82,10 +82,12 @@
     /*
      * Invalid changelist/client/label/date '@somelabel'.
      */
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( currentState == STATE_CLIENTSPEC && ( line.startsWith( "Client " + specname + " saved." ) ||
-            line.startsWith( "Client " + specname + " not changed." ) ) )
+        if ( currentState == STATE_CLIENTSPEC
+            && ( line.startsWith( "Client " + specname + " saved." ) || line.startsWith( "Client " + specname
+                + " not changed." ) ) )
         {
             currentState = STATE_NORMAL;
             return;
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java
index 423e496..23c6237 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java
@@ -46,7 +46,7 @@
     extends AbstractDiffCommand
     implements PerforceCommand
 {
-
+    /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet files, ScmVersion startRev,
                                                 ScmVersion endRev )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java
index 2af19c0..3a221cc 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java
@@ -39,12 +39,13 @@
     /*
      * I don't see any easy way to distinguish between an error and
      * normal diff output.  I see two possibilities:
-     * 
+     *
      * 1) Use the p4 global "-s" parameter
      * 2) Check for a non-zero code returned by the p4 process
-     * 
+     *
      * We'll do the latter as it's simpler to implement.
      */
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         output.println( line );
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditCommand.java
index 87737cf..2b1435c 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditCommand.java
@@ -46,7 +46,7 @@
     extends AbstractEditCommand
     implements PerforceCommand
 {
-
+    /** {@inheritDoc} */
     protected ScmResult executeEditCommand( ScmProviderRepository repo, ScmFileSet files )
         throws ScmException
     {
@@ -81,10 +81,13 @@
             e.printStackTrace();
         }
 
-        if(consumer.isSuccess()) {
+        if ( consumer.isSuccess() )
+        {
             return new EditScmResult( cl.toString(), consumer.getEdits() );
-        } else {
-            return new EditScmResult( cl.toString(), "Unable to edit file(s)", consumer.getErrorMessage(), false);
+        }
+        else
+        {
+            return new EditScmResult( cl.toString(), "Unable to edit file(s)", consumer.getErrorMessage(), false );
         }
     }
 
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
index e24c487..1f23152 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumer.java
@@ -64,6 +64,7 @@
         return edits;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( "... " ) )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java
index 531b2ae..3a8cea9 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginCommand.java
@@ -19,6 +19,12 @@
  * under the License.
  */
 
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
 import org.apache.maven.scm.CommandParameters;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
@@ -28,11 +34,9 @@
 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.cli.Commandline;
-import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.StringUtils;
-
-import java.io.*;
+import org.codehaus.plexus.util.cli.CommandLineException;
+import org.codehaus.plexus.util.cli.Commandline;
 
 /**
  * @author Mike Perham
@@ -43,7 +47,7 @@
     extends AbstractLoginCommand
     implements PerforceCommand
 {
-
+    /** {@inheritDoc} */
     public LoginScmResult executeLoginCommand( ScmProviderRepository repo, ScmFileSet files, CommandParameters params )
         throws ScmException
     {
@@ -54,8 +58,9 @@
         {
             Process proc = cl.execute();
             DataOutputStream dos = new DataOutputStream( proc.getOutputStream() );
-            if(StringUtils.isEmpty(repo.getPassword())) {
-                throw new ScmException("password is required for the perforce scm plugin.");
+            if ( StringUtils.isEmpty( repo.getPassword() ) )
+            {
+                throw new ScmException( "password is required for the perforce scm plugin." );
             }
             dos.writeUTF( repo.getPassword() );
             dos.close();
@@ -77,15 +82,15 @@
         }
         catch ( CommandLineException e )
         {
-            throw new ScmException("", e);
+            throw new ScmException( "", e );
         }
         catch ( IOException e )
         {
-            throw new ScmException("", e);
+            throw new ScmException( "", e );
         }
 
-        return new LoginScmResult( cl.toString(), consumer.isSuccess() ? "Login successful" : "Login failed", consumer
-            .getOutput(), consumer.isSuccess() );
+        return new LoginScmResult( cl.toString(), consumer.isSuccess() ? "Login successful" : "Login failed",
+                        consumer.getOutput(), consumer.isSuccess() );
     }
 
     public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDir )
@@ -93,7 +98,8 @@
         Commandline command = PerforceScmProvider.createP4Command( repo, workingDir );
 
         command.createArgument().setValue( "login" );
-        if(!StringUtils.isEmpty(repo.getUser())) {
+        if ( !StringUtils.isEmpty( repo.getUser() ) )
+        {
             command.createArgument().setValue( repo.getUser() );
         }
         return command;
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
index 1c6968c..b7db8bc 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java
@@ -41,6 +41,7 @@
 
     private int currentState = STATE_LOGIN;
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( "Enter password:" ) )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java
index 51e7c9a..d425f83 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveCommand.java
@@ -46,7 +46,7 @@
     extends AbstractRemoveCommand
     implements PerforceCommand
 {
-
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet files, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
index 247ebc7..4448173 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumer.java
@@ -63,6 +63,7 @@
         return removals;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( "... " ) )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
index 13286bf..54bbed4 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommand.java
@@ -52,6 +52,7 @@
 {
     private String actualLocation;
 
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet files )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java
index aad6f54..acdee24 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java
@@ -42,11 +42,12 @@
 
     private List depotfiles = new ArrayList();
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.indexOf( "not opened" ) != -1 )
         {
-            // User has no files open at all, just return 
+            // User has no files open at all, just return
             return;
         }
         switch ( currentState )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
index 631945b..3670383 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java
@@ -51,6 +51,7 @@
 {
     private String actualRepoLocation = null;
 
+    /** {@inheritDoc} */
     protected ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet files, String tag, String message )
         throws ScmException
     {
@@ -179,7 +180,7 @@
     private static final String NEWLINE = "\r\n";
 
     /*
-     * Label: foo-label 
+     * Label: foo-label
      * View: //depot/path/to/repos/...
      * Owner: mperham
      */
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
index ceeec24..e6258d1 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumer.java
@@ -89,6 +89,7 @@
      * //depot/modules/cordoba/runtime-ear/pom.xml#4 - added
      * //depot/modules/cordoba/runtime-ear/.runtime#1 - added
      */
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         switch ( currentState )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommand.java
index 4696282..35c3b62 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditCommand.java
@@ -47,6 +47,7 @@
     implements PerforceCommand
 {
 
+    /** {@inheritDoc} */
     protected ScmResult executeUnEditCommand( ScmProviderRepository repo, ScmFileSet files )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
index 6e08235..cb17d5f 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java
@@ -66,6 +66,7 @@
         return edits;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( currentState != STATE_ERROR && revisionRegexp.match( line ) )
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java
index f9433da..c9a3676 100644
--- a/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java
@@ -43,6 +43,7 @@
     implements PerforceCommand
 {
 
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet files,
                                                     ScmVersion scmVersion )
         throws ScmException
@@ -65,6 +66,7 @@
         return new UpdateScmResult( cosr.getCommandLine(), cosr.getCheckedOutFiles() );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         PerforceChangeLogCommand command = new PerforceChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-provider-perforce/src/site/site.xml b/maven-scm-providers/maven-scm-provider-perforce/src/site/site.xml
new file mode 100644
index 0000000..3938895
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-perforce/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Perforce Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-starteam/LICENSE.txt b/maven-scm-providers/maven-scm-provider-starteam/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/maven-scm-providers/maven-scm-provider-starteam/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/maven-scm-providers/maven-scm-provider-starteam/NOTICE.txt b/maven-scm-providers/maven-scm-provider-starteam/NOTICE.txt
deleted file mode 100644
index 3f59805..0000000
--- a/maven-scm-providers/maven-scm-provider-starteam/NOTICE.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
diff --git a/maven-scm-providers/maven-scm-provider-starteam/pom.xml b/maven-scm-providers/maven-scm-provider-starteam/pom.xml
index bf7b7ff..676a01a 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-starteam/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,18 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-starteam</artifactId>
+
   <name>Maven SCM Starteam Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for Starteam (http://www.borland.com/us/products/starteam/index.html).</description>
 
   <build>
     <plugins>
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java
index 9f7dc1b..dc0c5b3 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java
@@ -69,6 +69,7 @@
     // ScmProvider Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
@@ -156,9 +157,7 @@
         return "starteam";
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -171,9 +170,7 @@
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -187,9 +184,7 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -203,9 +198,7 @@
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -219,9 +212,7 @@
         return (CheckOutScmResult) 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)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -234,9 +225,7 @@
         return (DiffScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -249,9 +238,7 @@
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -264,9 +251,7 @@
         return (TagScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -279,6 +264,7 @@
         return (UpdateScmResult) command.execute( repository, fileSet, parameters );
     }
 
+    /** {@inheritDoc} */
     protected EditScmResult edit( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -291,6 +277,7 @@
         return (EditScmResult) command.execute( repository, fileSet, parameters );
     }
 
+    /** {@inheritDoc} */
     protected UnEditScmResult unedit( ScmProviderRepository repository, ScmFileSet fileSet,
                                       CommandParameters parameters )
         throws ScmException
@@ -304,9 +291,7 @@
         return (UnEditScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddCommand.java
index be8aa50..b435ae4 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddCommand.java
@@ -43,6 +43,7 @@
     extends AbstractAddCommand
     implements StarteamCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
@@ -84,7 +85,7 @@
     static Commandline createCommandLine( StarteamScmProviderRepository repo, ScmFileSet scmFileSet, String issue )
     {
         List args = new ArrayList();
-        
+
         if ( issue != null && issue.length() != 0 )
         {
             args.add( "-cr" );
@@ -92,7 +93,7 @@
         }
 
         StarteamCommandLineUtils.addEOLOption( args );
-                
+
         return StarteamCommandLineUtils.createStarteamCommandLine( "add", args, scmFileSet, repo );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddConsumer.java
index ecd4603..f14a3b8 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/add/StarteamAddConsumer.java
@@ -69,6 +69,7 @@
         this.workingDirectory = basedir.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java
index b9d6142..9894247 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java
@@ -48,13 +48,14 @@
     // AbstractChangeLogCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
         throws ScmException
     {
 
-        if ( branch != null || StringUtils.isNotEmpty( (branch==null)?null:branch.getName() ) )
+        if ( branch != null || StringUtils.isNotEmpty( ( branch == null ) ? null : branch.getName() ) )
         {
             this.getLogger().warn( "This provider doesn't support changelog with on a given branch." );
         }
@@ -101,15 +102,15 @@
         return StarteamCommandLineUtils.createStarteamCommandLine( "hist", null, workingDirectory, repo );
 
         /**
-         * unfortunately the below option only gives the hist from view creation date to 
-         * the specified date.  What good is that????? 
+         * unfortunately the below option only gives the hist from view creation date to
+         * the specified date.  What good is that?????
          */
 
         /*
         if ( startDate != null )
         {
             SimpleDateFormat localFormat = new SimpleDateFormat();
-        
+
             cl.createArgument().setValue( "-cfgd" );
 
             cl.createArgument().setValue( localFormat.format( startDate ).toString() );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumer.java
index 3ff14c2..5f84a32 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumer.java
@@ -173,6 +173,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java
index a9e51ea..1daa916 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java
@@ -48,6 +48,7 @@
     // AbstractCheckInCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInConsumer.java
index ee4b0ab..c107fcf 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInConsumer.java
@@ -72,6 +72,7 @@
         this.workingDirectory = basedir.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java
index 4df839d..9efa5e5 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java
@@ -48,6 +48,7 @@
     // AbstractCheckOutCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutConsumer.java
index bd29cf1..5f928d1 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutConsumer.java
@@ -66,6 +66,7 @@
         this.workingDirectory = workingDirectory.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java
index 3e7b318..b12fccb 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java
@@ -46,6 +46,8 @@
     // ----------------------------------------------------------------------
     // AbstractDiffCommand Implementation
     // ----------------------------------------------------------------------
+
+    /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion startVersion,
                                                 ScmVersion endVersion )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumer.java
index bbd2931..81abd4e 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumer.java
@@ -37,19 +37,19 @@
 public class StarteamDiffConsumer
     implements StreamConsumer
 {
-    private final static String WORKING_DIR_TOKEN = "(working dir: ";
+    private static final String WORKING_DIR_TOKEN = "(working dir: ";
 
-    private final static String PATCH_SEPARATOR_TOKEN = "--------------";
+    private static final String PATCH_SEPARATOR_TOKEN = "--------------";
 
-    private final static String REVISION_TOKEN = " Revision: ";
+    private static final String REVISION_TOKEN = " Revision: ";
 
-    private final static String ONDISK_TOKEN = " (on disk)";
+    private static final String ONDISK_TOKEN = " (on disk)";
 
-    private final static String ADDED_LINE_TOKEN = "+";
+    private static final String ADDED_LINE_TOKEN = "+";
 
-    private final static String REMOVED_LINE_TOKEN = "-";
+    private static final String REMOVED_LINE_TOKEN = "-";
 
-    private final static String UNCHANGED_LINE_TOKEN = " ";
+    private static final String UNCHANGED_LINE_TOKEN = " ";
 
     private ScmLogger logger;
 
@@ -82,6 +82,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         int pos = 0;
@@ -154,8 +155,8 @@
             return;
         }
 
-        if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
-            line.startsWith( UNCHANGED_LINE_TOKEN ) )
+        if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN )
+            || line.startsWith( UNCHANGED_LINE_TOKEN ) )
         {
             // add to buffer
             currentDifference.append( line ).append( "\n" );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditCommand.java
index 87bf155..2636784 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditCommand.java
@@ -47,6 +47,7 @@
     // AbstractEditCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected ScmResult executeEditCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditConsumer.java
index e094dc3..c1d75f3 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/edit/StarteamEditConsumer.java
@@ -63,6 +63,7 @@
         this.workingDirectory = basedir.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java
index 7bfaf8e..cf4b1c6 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java
@@ -43,6 +43,7 @@
     extends AbstractRemoveCommand
     implements StarteamCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumer.java
index a37dd1c..fe54b0e 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumer.java
@@ -69,6 +69,7 @@
         this.workingDirectory = basedir.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusCommand.java
index f64da71..d5569a8 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusCommand.java
@@ -42,6 +42,7 @@
     // AbstractStatusCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumer.java
index 13ec090..8345008 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumer.java
@@ -80,6 +80,7 @@
         this.workingDirectory = basedir.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
@@ -150,7 +151,7 @@
         }
         else if ( status.equals( CURRENT_MARKER ) )
         {
-            //ignore   
+            //ignore
         }
         else
         {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
index 8a13ca9..2fbdbd7 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java
@@ -45,6 +45,7 @@
     // AbstractTagCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagConsumer.java
index 60524a5..57feb94 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagConsumer.java
@@ -41,6 +41,7 @@
         this.logger = logger;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.info( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditCommand.java
index 371a467..89b50c3 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditCommand.java
@@ -47,6 +47,7 @@
     // AbstractEditCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected ScmResult executeUnEditCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditConsumer.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditConsumer.java
index 11ca6f6..34452d1 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/unedit/StarteamUnEditConsumer.java
@@ -63,6 +63,7 @@
         this.workingDirectory = basedir.getPath().replace( '\\', '/' );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java
index df458ed..aed722d 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java
@@ -53,6 +53,7 @@
     // AbstractUpdateCommand Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
@@ -136,9 +137,7 @@
         return StarteamCommandLineUtils.createStarteamCommandLine( "co", args, fileSet, repo );
     }
 
-    /**
-     * @see org.apache.maven.scm.command.update.AbstractUpdateCommand#getChangeLogCommand()
-     */
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         StarteamChangeLogCommand command = new StarteamChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java
index 81968c6..a291de2 100644
--- a/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java
@@ -30,7 +30,7 @@
 
 /**
  * @author <a href="mailto:dantran@apache.org">Dan T. Tran</a>
- * @version $Id$
+ * @version $Id: $
  */
 public class StarteamUtil
 {
@@ -52,15 +52,17 @@
             }
             catch ( FileNotFoundException e )
             {
+                // nop
             }
             catch ( IOException e )
             {
+                // nop
             }
             catch ( XmlPullParserException e )
             {
                 String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
 
-                System.out.println( message );
+                System.err.println( message );
             }
         }
 
diff --git a/maven-scm-providers/maven-scm-provider-starteam/src/site/site.xml b/maven-scm-providers/maven-scm-provider-starteam/src/site/site.xml
new file mode 100644
index 0000000..2b42271
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-starteam/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Starteam Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-synergy/LICENSE.txt b/maven-scm-providers/maven-scm-provider-synergy/LICENSE.txt
deleted file mode 100644
index 83a42e2..0000000
--- a/maven-scm-providers/maven-scm-provider-synergy/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2006 La Poste
-
-   Licensed 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.
diff --git a/maven-scm-providers/maven-scm-provider-synergy/NOTICE.txt b/maven-scm-providers/maven-scm-provider-synergy/NOTICE.txt
deleted file mode 100644
index 3f59805..0000000
--- a/maven-scm-providers/maven-scm-provider-synergy/NOTICE.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
diff --git a/maven-scm-providers/maven-scm-provider-synergy/pom.xml b/maven-scm-providers/maven-scm-provider-synergy/pom.xml
index 7f68a4d..f66f7d1 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-synergy/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -19,15 +21,17 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <groupId>org.apache.maven.scm</groupId>
+
   <artifactId>maven-scm-provider-synergy</artifactId>
+
   <name>Maven SCM Synergy Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for Synergy (http://www.telelogic.com/corp/products/synergy/index.cfm).</description>
 
   <build>
     <plugins>
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/SynergyScmProvider.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/SynergyScmProvider.java
index df98799..5648a76 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/SynergyScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/SynergyScmProvider.java
@@ -54,32 +54,32 @@
     extends AbstractScmProvider
 {
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
         return new SynergyScmProviderRepository( scmSpecificUrl );
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "synergy";
     }
 
+    /** {@inheritDoc} */
     public boolean requiresEditMode()
     {
         return true;
     }
 
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return "_ccmwaid.inf";
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -90,11 +90,7 @@
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -105,11 +101,7 @@
         return (RemoveScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -121,11 +113,7 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -137,11 +125,7 @@
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -153,6 +137,7 @@
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
+    /** {@inheritDoc} */
     public EditScmResult edit( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -163,6 +148,7 @@
         return (EditScmResult) command.execute( repository, fileSet, parameters );
     }
 
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -173,11 +159,7 @@
         return (UpdateScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -188,6 +170,7 @@
         return (TagScmResult) command.execute( repository, fileSet, parameters );
     }
 
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/SynergyCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/SynergyCommand.java
index 35b91c7..53dd429 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/SynergyCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/SynergyCommand.java
@@ -21,6 +21,7 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public interface SynergyCommand
 {
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/add/SynergyAddCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/add/SynergyAddCommand.java
index c08dc1a..a88b248 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/add/SynergyAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/add/SynergyAddCommand.java
@@ -36,11 +36,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyAddCommand
     extends AbstractAddCommand
     implements SynergyCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
@@ -55,19 +57,19 @@
             message = "Maven SCM Synergy provider: adding file(s) to project " + repo.getProjectSpec();
         }
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         try
         {
-            int taskNum = SynergyUtil.createTask( getLogger(), message, repo.getProjectRelease(), true, CCM_ADDR );
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            if ( project_spec == null )
+            int taskNum = SynergyUtil.createTask( getLogger(), message, repo.getProjectRelease(), true, ccmAddr );
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            if ( projectSpec == null )
             {
                 throw new ScmException( "You should checkout project first" );
             }
-            File WAPath = SynergyUtil.getWorkArea( getLogger(), project_spec, CCM_ADDR );
-            File destPath = new File( WAPath, repo.getProjectName() );
+            File waPath = SynergyUtil.getWorkArea( getLogger(), projectSpec, ccmAddr );
+            File destPath = new File( waPath, repo.getProjectName() );
             for ( Iterator i = fileSet.getFileList().iterator(); i.hasNext(); )
             {
                 File f = (File) i.next();
@@ -85,14 +87,14 @@
                         throw new ScmException( "Unable to copy file in Work Area", e );
                     }
                 }
-                SynergyUtil.create( getLogger(), dest, message, CCM_ADDR );
+                SynergyUtil.create( getLogger(), dest, message, ccmAddr );
             }
-            SynergyUtil.checkinTask( getLogger(), taskNum, message, CCM_ADDR );
+            SynergyUtil.checkinTask( getLogger(), taskNum, message, ccmAddr );
 
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new AddScmResult( "", fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java
index c7a8d12..21e6056 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java
@@ -39,12 +39,14 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyChangeLogCommand
     extends AbstractChangeLogCommand
     implements SynergyCommand
 {
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
@@ -54,19 +56,19 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         List csList = new ArrayList();
 
         try
         {
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            if ( project_spec == null )
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            if ( projectSpec == null )
             {
                 throw new ScmException( "You should checkout project first" );
             }
-            List tasks = SynergyUtil.getCompletedTasks( getLogger(), project_spec, startDate, endDate, CCM_ADDR );
+            List tasks = SynergyUtil.getCompletedTasks( getLogger(), projectSpec, startDate, endDate, ccmAddr );
             for ( Iterator i = tasks.iterator(); i.hasNext(); )
             {
                 ChangeSet cs = new ChangeSet();
@@ -74,13 +76,13 @@
                 cs.setAuthor( t.getUsername() );
                 cs.setComment( "Task " + t.getNumber() + ": " + t.getComment() );
                 cs.setDate( t.getModifiedTime() );
-                cs.setFiles( SynergyUtil.getModifiedObjects( getLogger(), t.getNumber(), CCM_ADDR ) );
+                cs.setFiles( SynergyUtil.getModifiedObjects( getLogger(), t.getNumber(), ccmAddr ) );
                 csList.add( cs );
             }
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new ChangeLogScmResult( "ccm query ...", new ChangeLogSet( csList, startDate, endDate ) );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java
index d68f629..eb21a60 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java
@@ -31,12 +31,14 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyCheckInCommand
     extends AbstractCheckInCommand
     implements SynergyCommand
 {
 
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                       String message, ScmVersion version )
         throws ScmException
@@ -45,15 +47,15 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         try
         {
-            SynergyUtil.checkinDefaultTask( getLogger(), message, CCM_ADDR );
+            SynergyUtil.checkinDefaultTask( getLogger(), message, ccmAddr );
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new CheckInScmResult( "ccm checkin", fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java
index 636523d..f097af0 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java
@@ -37,12 +37,14 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyCheckOutCommand
     extends AbstractCheckOutCommand
     implements SynergyCommand
 {
 
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
@@ -55,39 +57,39 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
-        File WAPath;
+        File waPath;
         try
         {
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            if ( project_spec != null )
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            if ( projectSpec != null )
             {
-                getLogger().info( "A working project already exists [" + project_spec + "]." );
-                SynergyUtil.synchronize( getLogger(), project_spec, CCM_ADDR );
+                getLogger().info( "A working project already exists [" + projectSpec + "]." );
+                SynergyUtil.synchronize( getLogger(), projectSpec, ccmAddr );
             }
             else
             {
-                SynergyUtil.checkoutProject( getLogger(), null, repo.getProjectSpec(), version, repo.getProjectPurpose(),
-                                             repo.getProjectRelease(), CCM_ADDR );
-                project_spec =
-                    SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-                getLogger().info( "A new working project [" + project_spec + "] was created." );
+                SynergyUtil.checkoutProject( getLogger(), null, repo.getProjectSpec(), version,
+                                             repo.getProjectPurpose(), repo.getProjectRelease(), ccmAddr );
+                projectSpec =
+                    SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+                getLogger().info( "A new working project [" + projectSpec + "] was created." );
             }
-            SynergyUtil.reconfigure( getLogger(), project_spec, CCM_ADDR );
-            WAPath = SynergyUtil.getWorkArea( getLogger(), project_spec, CCM_ADDR );
+            SynergyUtil.reconfigure( getLogger(), projectSpec, ccmAddr );
+            waPath = SynergyUtil.getWorkArea( getLogger(), projectSpec, ccmAddr );
 
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
-        File source = new File( WAPath, repo.getProjectName() );
+        File source = new File( waPath, repo.getProjectName() );
 
-        getLogger().info( "We will now copy files from Synergy Work Area [" + source + "] to expected folder [" +
-            fileSet.getBasedir() + "]" );
+        getLogger().info( "We will now copy files from Synergy Work Area [" + source + "] to expected folder ["
+                              + fileSet.getBasedir() + "]" );
 
         // Move files to the expected folder
         try
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/edit/SynergyEditCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/edit/SynergyEditCommand.java
index f4153a8..d18ac79 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/edit/SynergyEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/edit/SynergyEditCommand.java
@@ -38,11 +38,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyEditCommand
     extends AbstractEditCommand
     implements SynergyCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeEditCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -51,20 +53,20 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         try
         {
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            File WAPath = SynergyUtil.getWorkArea( getLogger(), project_spec, CCM_ADDR );
-            File sourcePath = new File( WAPath, repo.getProjectName() );
-            if ( project_spec == null )
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            File waPath = SynergyUtil.getWorkArea( getLogger(), projectSpec, ccmAddr );
+            File sourcePath = new File( waPath, repo.getProjectName() );
+            if ( projectSpec == null )
             {
                 throw new ScmException( "You should checkout project first" );
             }
-            int taskNum = SynergyUtil.createTask( getLogger(), "Maven SCM Synergy provider: edit command for project " +
-                repo.getProjectSpec(), repo.getProjectRelease(), true, CCM_ADDR );
+            int taskNum = SynergyUtil.createTask( getLogger(), "Maven SCM Synergy provider: edit command for project "
+                + repo.getProjectSpec(), repo.getProjectRelease(), true, ccmAddr );
             getLogger().info( "Task " + taskNum + " was created to perform checkout." );
             for ( Iterator i = fileSet.getFileList().iterator(); i.hasNext(); )
             {
@@ -73,7 +75,7 @@
                 File source = new File( sourcePath, SynergyUtil.removePrefix( fileSet.getBasedir(), f ) );
                 List list = new LinkedList();
                 list.add( source );
-                SynergyUtil.checkoutFiles( getLogger(), list, CCM_ADDR );
+                SynergyUtil.checkoutFiles( getLogger(), list, ccmAddr );
                 if ( !source.equals( dest ) )
                 {
                     getLogger().debug( "Copy file [" + source + "] to expected folder [" + dest + "]." );
@@ -90,7 +92,7 @@
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new EditScmResult( "", fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/remove/SynergyRemoveCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/remove/SynergyRemoveCommand.java
index 69f580a..1f81e9f 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/remove/SynergyRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/remove/SynergyRemoveCommand.java
@@ -35,11 +35,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyRemoveCommand
     extends AbstractRemoveCommand
     implements SynergyCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
@@ -48,24 +50,24 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         try
         {
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            if ( project_spec == null )
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            if ( projectSpec == null )
             {
                 throw new ScmException( "You should checkout project first" );
             }
-            File WAPath = SynergyUtil.getWorkArea( getLogger(), project_spec, CCM_ADDR );
-            File destPath = new File( WAPath, repo.getProjectName() );
+            File waPath = SynergyUtil.getWorkArea( getLogger(), projectSpec, ccmAddr );
+            File destPath = new File( waPath, repo.getProjectName() );
             for ( Iterator i = fileSet.getFileList().iterator(); i.hasNext(); )
             {
                 ScmFile f = (ScmFile) i.next();
                 File source = new File( fileSet.getBasedir(), f.getPath() );
                 File dest = new File( destPath, f.getPath() );
-                SynergyUtil.delete( getLogger(), dest, CCM_ADDR, false );
+                SynergyUtil.delete( getLogger(), dest, ccmAddr, false );
                 if ( !source.equals( dest ) )
                 {
                     getLogger().debug( "Delete file [" + source + "]." );
@@ -75,7 +77,7 @@
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new StatusScmResult( "", fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/status/SynergyStatusCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/status/SynergyStatusCommand.java
index cf908c2..52ee91c 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/status/SynergyStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/status/SynergyStatusCommand.java
@@ -36,11 +36,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyStatusCommand
     extends AbstractStatusCommand
     implements SynergyCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -49,16 +51,16 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         List l;
         try
         {
-            l = SynergyUtil.getWorkingFiles( getLogger(), repo.getProjectSpec(), repo.getProjectRelease(), CCM_ADDR );
+            l = SynergyUtil.getWorkingFiles( getLogger(), repo.getProjectSpec(), repo.getProjectRelease(), ccmAddr );
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         List result = new LinkedList();
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
index 7070021..8ffbf24 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/tag/SynergyTagCommand.java
@@ -32,12 +32,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyTagCommand
     extends AbstractTagCommand
     implements SynergyCommand
 {
-
+    /** {@inheritDoc} */
     protected ScmResult executeTagCommand( ScmProviderRepository repository, ScmFileSet fileSet, String tag,
                                            String message )
         throws ScmException
@@ -47,16 +48,16 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), SynergyRole.BUILD_MGR );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), SynergyRole.BUILD_MGR );
 
         try
         {
             SynergyUtil.createBaseline( getLogger(), repo.getProjectSpec(), tag, repo.getProjectRelease(), repo
-                .getProjectPurpose(), CCM_ADDR );
+                .getProjectPurpose(), ccmAddr );
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new TagScmResult( "", fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/unedit/SynergyUnEditCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/unedit/SynergyUnEditCommand.java
index 6869f24..0a10bab 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/unedit/SynergyUnEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/unedit/SynergyUnEditCommand.java
@@ -37,11 +37,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyUnEditCommand
     extends AbstractUnEditCommand
     implements SynergyCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeUnEditCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -50,24 +52,24 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
         try
         {
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            if ( project_spec == null )
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            if ( projectSpec == null )
             {
                 throw new ScmException( "You should checkout project first" );
             }
-            File WAPath = SynergyUtil.getWorkArea( getLogger(), project_spec, CCM_ADDR );
-            File destPath = new File( WAPath, repo.getProjectName() );
+            File waPath = SynergyUtil.getWorkArea( getLogger(), projectSpec, ccmAddr );
+            File destPath = new File( waPath, repo.getProjectName() );
             for ( Iterator i = fileSet.getFileList().iterator(); i.hasNext(); )
             {
                 ScmFile f = (ScmFile) i.next();
                 File source = new File( fileSet.getBasedir(), f.getPath() );
                 File dest = new File( destPath, f.getPath() );
-                SynergyUtil.delete( getLogger(), dest, CCM_ADDR, true );
+                SynergyUtil.delete( getLogger(), dest, ccmAddr, true );
                 if ( !source.equals( dest ) )
                 {
                     getLogger().debug( "Copy file [" + dest + "] to [" + source + "]." );
@@ -84,7 +86,7 @@
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
         return new UnEditScmResult( "", fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java
index cd8f090..f138b9c 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java
@@ -41,11 +41,13 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyUpdateCommand
     extends AbstractUpdateCommand
     implements SynergyCommand
 {
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                     ScmVersion version )
         throws ScmException
@@ -54,31 +56,31 @@
         SynergyScmProviderRepository repo = (SynergyScmProviderRepository) repository;
         getLogger().debug( "basedir: " + fileSet.getBasedir() );
 
-        String CCM_ADDR = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
+        String ccmAddr = SynergyUtil.start( getLogger(), repo.getUser(), repo.getPassword(), null );
 
-        File WAPath;
+        File waPath;
         try
         {
-            String project_spec =
-                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), CCM_ADDR );
-            SynergyUtil.reconfigureProperties( getLogger(), project_spec, CCM_ADDR );
-            SynergyUtil.reconfigure( getLogger(), project_spec, CCM_ADDR );
+            String projectSpec =
+                SynergyUtil.getWorkingProject( getLogger(), repo.getProjectSpec(), repo.getUser(), ccmAddr );
+            SynergyUtil.reconfigureProperties( getLogger(), projectSpec, ccmAddr );
+            SynergyUtil.reconfigure( getLogger(), projectSpec, ccmAddr );
             // We need to get WA path
-            WAPath = SynergyUtil.getWorkArea( getLogger(), project_spec, CCM_ADDR );
+            waPath = SynergyUtil.getWorkArea( getLogger(), projectSpec, ccmAddr );
         }
         finally
         {
-            SynergyUtil.stop( getLogger(), CCM_ADDR );
+            SynergyUtil.stop( getLogger(), ccmAddr );
         }
 
-        File source = new File( WAPath, repo.getProjectName() );
+        File source = new File( waPath, repo.getProjectName() );
 
         // Move file from work area to expected dir if not the same
         List modifications = new ArrayList();
         if ( !source.equals( fileSet.getBasedir() ) )
         {
-            getLogger().info( "We will copy modified files from Synergy Work Area [" + source +
-                "] to expected folder [" + fileSet.getBasedir() + "]" );
+            getLogger().info( "We will copy modified files from Synergy Work Area [" + source
+                                  + "] to expected folder [" + fileSet.getBasedir() + "]" );
             try
             {
                 copyDirectoryStructure( source, fileSet.getBasedir(), modifications );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyCreateTaskConsumer.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyCreateTaskConsumer.java
index 0127590..bc098c0 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyCreateTaskConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyCreateTaskConsumer.java
@@ -24,6 +24,7 @@
 
 /**
  * @author <a href="julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyCreateTaskConsumer
     extends AbstractConsumer
@@ -48,7 +49,7 @@
      * Task 70 created. <br/> The default task is set to: <br/> 70: Maven SCM
      * Synergy provider: adding file(s) to project TestMaven~1
      *
-     * @see org.codehaus.plexus.util.cli.StreamConsumer#consumeLine(java.lang.String)
+     * {@inheritDoc}
      */
     public void consumeLine( String line )
     {
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetCompletedTasksConsumer.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetCompletedTasksConsumer.java
index 4211eb2..ea9a10d 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetCompletedTasksConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetCompletedTasksConsumer.java
@@ -35,6 +35,7 @@
  * Mainly inspired from CruiseControl
  *
  * @author <a href="julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyGetCompletedTasksConsumer
     extends AbstractConsumer
@@ -50,8 +51,8 @@
 
     private String country = "US";
 
-    public static String OUTPUT_FORMAT = "%displayname" + SynergyUtil.SEPARATOR + "%owner" + SynergyUtil.SEPARATOR +
-        "%completion_date" + SynergyUtil.SEPARATOR + "%task_synopsis" + SynergyUtil.SEPARATOR;
+    public static final String OUTPUT_FORMAT = "%displayname" + SynergyUtil.SEPARATOR + "%owner"
+        + SynergyUtil.SEPARATOR + "%completion_date" + SynergyUtil.SEPARATOR + "%task_synopsis" + SynergyUtil.SEPARATOR;
 
     private List entries = new ArrayList();
 
@@ -86,6 +87,7 @@
         logger.debug( "country = " + this.country );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( "Consume: " + line );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetTaskObjectsConsumer.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetTaskObjectsConsumer.java
index 1590092..90cd52c 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetTaskObjectsConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetTaskObjectsConsumer.java
@@ -32,6 +32,7 @@
  * Mainly inspired from CruiseControl
  *
  * @author <a href="julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyGetTaskObjectsConsumer
     extends AbstractConsumer
@@ -39,7 +40,7 @@
 
     private List entries = new ArrayList();
 
-    public static String OUTPUT_FORMAT = "%name" + SynergyUtil.SEPARATOR + // 0
+    public static final String OUTPUT_FORMAT = "%name" + SynergyUtil.SEPARATOR + // 0
         "%version" + SynergyUtil.SEPARATOR;
 
     /**
@@ -55,6 +56,7 @@
         super( logger );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( "Consume: " + line );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingFilesConsumer.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingFilesConsumer.java
index 9bc8166..8a3c59f 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingFilesConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingFilesConsumer.java
@@ -27,6 +27,7 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyGetWorkingFilesConsumer
     implements StreamConsumer
@@ -35,13 +36,14 @@
 
     private List files = new ArrayList();
 
-    public static String OUTPUT_FORMAT = "%name";
+    public static final String OUTPUT_FORMAT = "%name";
 
     public SynergyGetWorkingFilesConsumer( ScmLogger logger )
     {
         this.logger = logger;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingProjectConsumer.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingProjectConsumer.java
index 9e15903..34762a0 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingProjectConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyGetWorkingProjectConsumer.java
@@ -30,30 +30,32 @@
  * </pre>
  *
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyGetWorkingProjectConsumer
     implements StreamConsumer
 {
     private ScmLogger logger;
 
-    private String project_spec;
+    private String projectSpec;
 
     public SynergyGetWorkingProjectConsumer( ScmLogger logger )
     {
         this.logger = logger;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
         if ( !line.trim().equals( "" ) )
         {
-            project_spec = line.trim();
+            projectSpec = line.trim();
         }
     }
 
     public String getProjectSpec()
     {
-        return project_spec;
+        return projectSpec;
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyWorkareaConsumer.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyWorkareaConsumer.java
index ee8a1e8..229585b 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyWorkareaConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/consumer/SynergyWorkareaConsumer.java
@@ -32,6 +32,7 @@
  * </pre>
  *
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyWorkareaConsumer
     implements StreamConsumer
@@ -59,6 +60,8 @@
      * <pre>
      *            D:\cmsynergy\ccm_wa\LAPOSTE\BGZBFZH&tilde;1
      *            &lt;pre&gt;
+     *
+     * {@inheritDoc}
      */
     public void consumeLine( String line )
     {
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java
index 147d8a5..a05837a 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/repository/SynergyScmProviderRepository.java
@@ -29,20 +29,21 @@
 
 /**
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyScmProviderRepository
     extends ScmProviderRepository
 {
 
-    private String project_spec;
+    private String projectSpec;
 
-    private String project_name;
+    private String projectName;
 
-    private String project_version;
+    private String projectVersion;
 
-    private String project_release;
+    private String projectRelease;
 
-    private String project_purpose;
+    private String projectPurpose;
 
     private String delimiter;
 
@@ -53,7 +54,6 @@
     public SynergyScmProviderRepository( String url )
         throws ScmRepositoryException
     {
-        System.out.println( "DEBUG" );
         try
         {
             parseUrl( url );
@@ -92,13 +92,13 @@
     {
         if ( tokenizer.countTokens() == 5 )
         {
-            project_name = tokenizer.nextToken();
+            projectName = tokenizer.nextToken();
             delimiter = tokenizer.nextToken();
-            project_version = tokenizer.nextToken();
-            project_release = tokenizer.nextToken();
-            project_purpose = tokenizer.nextToken();
+            projectVersion = tokenizer.nextToken();
+            projectRelease = tokenizer.nextToken();
+            projectPurpose = tokenizer.nextToken();
 
-            project_spec = project_name + delimiter + project_version;
+            projectSpec = projectName + delimiter + projectVersion;
 
         }
         else
@@ -109,17 +109,17 @@
 
     public String getProjectSpec()
     {
-        return project_spec;
+        return projectSpec;
     }
 
     public String getProjectName()
     {
-        return project_name;
+        return projectName;
     }
 
     public String getProjectVersion()
     {
-        return project_version;
+        return projectVersion;
     }
 
     /**
@@ -127,7 +127,7 @@
      */
     public String getProjectPurpose()
     {
-        return project_purpose;
+        return projectPurpose;
     }
 
     /**
@@ -135,7 +135,7 @@
      */
     public String getProjectRelease()
     {
-        return project_release;
+        return projectRelease;
     }
 
 }
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java
index 15d540a..4f0af39 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java
@@ -36,6 +36,7 @@
  * This class contains methods to execute Synergy ccm command line.
  *
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyCCM
 {
@@ -79,17 +80,17 @@
      *
      * @param taskNumber Task number.
      * @param format     Output format.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return the commandl ine.
      * @throws ScmException
      */
-    public static Commandline showTaskObjects( int taskNumber, String format, String CCM_ADDR )
+    public static Commandline showTaskObjects( int taskNumber, String format, String ccmAddr )
         throws ScmException
     {
         // Construct the CM Synergy command
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
 
@@ -114,18 +115,18 @@
      *
      * @param query    query.
      * @param format   Output format
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return the command line.
      * @throws ScmException
      */
-    public static Commandline query( String query, String format, String CCM_ADDR )
+    public static Commandline query( String query, String format, String ccmAddr )
         throws ScmException
     {
 
         // Construct the CM Synergy command
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( QUERY );
@@ -151,17 +152,17 @@
      * @param name        Name of the baseline
      * @param release     the release.
      * @param purpose     the purpose.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return the command line.
      * @throws ScmException
      */
     public static Commandline createBaseline( String projectSpec, String name, String release, String purpose,
-                                              String CCM_ADDR )
+                                              String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( BASELINE );
@@ -187,16 +188,16 @@
      *
      * @param files    fileset.
      * @param message  message log, or null if none.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return the command line.
      * @throws ScmException
      */
-    public static Commandline create( List files, String message, String CCM_ADDR )
+    public static Commandline create( List files, String message, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( CREATE );
@@ -233,16 +234,16 @@
      * @param synopsis    synopsis.
      * @param release     release.
      * @param defaultTask default.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return the command line.
      * @throws ScmException
      */
-    public static Commandline createTask( String synopsis, String release, boolean defaultTask, String CCM_ADDR )
+    public static Commandline createTask( String synopsis, String release, boolean defaultTask, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( TASK );
@@ -274,25 +275,25 @@
     /**
      * Create command line for checkin a task
      *
-     * @param task_specs task_specs or default
+     * @param taskSpecs task_specs or default
      * @param comment    comment.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline checkinTask( String task_specs, String comment, String CCM_ADDR )
+    public static Commandline checkinTask( String taskSpecs, String comment, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( TASK );
 
         cl.createArgument().setValue( "-checkin" );
 
-        cl.createArgument().setValue( task_specs );
+        cl.createArgument().setValue( taskSpecs );
 
         cl.createArgument().setValue( "-comment" );
         cl.createArgument().setValue( comment );
@@ -305,17 +306,17 @@
      * Create command line for deleting file(s).
      *
      * @param files    fileset.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @param replace  replace with previous version of file ?
      * @return
      * @throws ScmException
      */
-    public static Commandline delete( List files, String CCM_ADDR, boolean replace )
+    public static Commandline delete( List files, String ccmAddr, boolean replace )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( DELETE );
@@ -345,27 +346,27 @@
     /**
      * Create commandline to reconfigure a project.
      *
-     * @param project_spec
-     * @param CCM_ADDR
+     * @param projectSpec
+     * @param ccmAddr
      * @return the command line.
      * @throws ScmException
      */
-    public static Commandline reconfigure( String project_spec, String CCM_ADDR )
+    public static Commandline reconfigure( String projectSpec, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( RECONFIGURE );
 
         cl.createArgument().setValue( "-recurse" );
 
-        if ( project_spec != null )
+        if ( projectSpec != null )
         {
             cl.createArgument().setValue( "-p" );
-            cl.createArgument().setValue( project_spec );
+            cl.createArgument().setValue( projectSpec );
         }
 
         return cl;
@@ -375,23 +376,23 @@
     /**
      * Create commandline to reconfigure properties of a project.
      *
-     * @param project_spec
-     * @param CCM_ADDR
+     * @param projectSpec
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline reconfigureProperties( String project_spec, String CCM_ADDR )
+    public static Commandline reconfigureProperties( String projectSpec, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( RECONFIGURE_PROPERTIES );
 
         cl.createArgument().setValue( "-refresh" );
-        cl.createArgument().setValue( project_spec );
+        cl.createArgument().setValue( projectSpec );
 
         return cl;
 
@@ -400,17 +401,17 @@
     /**
      * Create command line to reconcile a project with uwa option.
      *
-     * @param project_spec
-     * @param CCM_ADDR
+     * @param projectSpec
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline reconcileUwa( String project_spec, String CCM_ADDR )
+    public static Commandline reconcileUwa( String projectSpec, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( RECONCILE );
@@ -418,10 +419,10 @@
         cl.createArgument().setValue( "-r" );
         cl.createArgument().setValue( "-uwa" ); // Update wa from database
 
-        if ( project_spec != null )
+        if ( projectSpec != null )
         {
             cl.createArgument().setValue( "-p" );
-            cl.createArgument().setValue( project_spec );
+            cl.createArgument().setValue( projectSpec );
         }
 
         return cl;
@@ -431,17 +432,17 @@
     /**
      * Create command line to reconcile a project with udb option.
      *
-     * @param project_spec
-     * @param CCM_ADDR
+     * @param projectSpec
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline reconcileUdb( String project_spec, String CCM_ADDR )
+    public static Commandline reconcileUdb( String projectSpec, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( RECONCILE );
@@ -449,10 +450,10 @@
         cl.createArgument().setValue( "-r" );
         cl.createArgument().setValue( "-udb" ); // Update database from wa
 
-        if ( project_spec != null )
+        if ( projectSpec != null )
         {
             cl.createArgument().setValue( "-p" );
-            cl.createArgument().setValue( project_spec );
+            cl.createArgument().setValue( projectSpec );
         }
 
         return cl;
@@ -464,16 +465,16 @@
      *
      * @param directory
      * @param format    Output format.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline dir( File directory, String format, String CCM_ADDR )
+    public static Commandline dir( File directory, String format, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         try
         {
@@ -503,16 +504,16 @@
      * Create commandline to checkout a fileset.
      *
      * @param files    fileset.
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return the command line.
      * @throws ScmException
      */
-    public static Commandline checkoutFiles( List files, String CCM_ADDR )
+    public static Commandline checkoutFiles( List files, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( CO );
@@ -537,20 +538,20 @@
      * Create commandline to checkout a project
      *
      * @param directory    target WA, or null if using default directory
-     * @param project_spec
+     * @param projectSpec
      * @param version      new version of the project, or null if using default Synergy
      *                     mecanism
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline checkoutProject( File directory, String project_spec, ScmVersion version, String purpose,
-                                               String release, String CCM_ADDR )
+    public static Commandline checkoutProject( File directory, String projectSpec, ScmVersion version, String purpose,
+                                               String release, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( CO );
@@ -588,7 +589,7 @@
             }
         }
         cl.createArgument().setValue( "-p" );
-        cl.createArgument().setValue( project_spec );
+        cl.createArgument().setValue( projectSpec );
 
         return cl;
     }
@@ -596,18 +597,18 @@
     /**
      * Create commandline to checkin a project
      *
-     * @param project_spec
+     * @param projectSpec
      * @param comment
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline checkinProject( String project_spec, String comment, String CCM_ADDR )
+    public static Commandline checkinProject( String projectSpec, String comment, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( CI );
@@ -617,7 +618,7 @@
             cl.createArgument().setValue( comment );
         }
         cl.createArgument().setValue( "-p" );
-        cl.createArgument().setValue( project_spec );
+        cl.createArgument().setValue( projectSpec );
 
         return cl;
     }
@@ -627,16 +628,16 @@
      *
      * @param files    fileset.
      * @param comment
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline checkinFiles( List files, String comment, String CCM_ADDR )
+    public static Commandline checkinFiles( List files, String comment, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( CI );
@@ -667,23 +668,23 @@
     /**
      * Create commandline to synchronize a project
      *
-     * @param project_spec
-     * @param CCM_ADDR
+     * @param projectSpec
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline synchronize( String project_spec, String CCM_ADDR )
+    public static Commandline synchronize( String projectSpec, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( SYNC );
         cl.createArgument().setValue( "-r" ); // Recursive
         cl.createArgument().setValue( "-p" );
-        cl.createArgument().setValue( project_spec );
+        cl.createArgument().setValue( projectSpec );
 
         return cl;
     }
@@ -691,22 +692,22 @@
     /**
      * Create commandline to get workarea informations for a given project.
      *
-     * @param project_spec
-     * @param CCM_ADDR
+     * @param projectSpec
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline showWorkArea( String project_spec, String CCM_ADDR )
+    public static Commandline showWorkArea( String projectSpec, String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( WA );
         cl.createArgument().setValue( "-show" );
-        cl.createArgument().setValue( project_spec );
+        cl.createArgument().setValue( projectSpec );
 
         return cl;
     }
@@ -714,16 +715,16 @@
     /**
      * Create commandline to stop a Synergy session
      *
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @return
      * @throws ScmException
      */
-    public static Commandline stop( String CCM_ADDR )
+    public static Commandline stop( String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( STOP );
@@ -735,10 +736,10 @@
      * Configure a commandline to use environement variables ($PATH)
      *
      * @param cl
-     * @param CCM_ADDR
+     * @param ccmAddr
      * @throws ScmException
      */
-    private static void configureEnvironment( Commandline cl, String CCM_ADDR )
+    private static void configureEnvironment( Commandline cl, String ccmAddr )
         throws ScmException
     {
         // We need PATH to be set for using CCM
@@ -750,7 +751,7 @@
             {
                 String key = (String) i.next();
 
-                if ( !key.toUpperCase().equals( "CCM_ADDR" ) )
+                if ( !key.equalsIgnoreCase( "CCM_ADDR" ) )
                 {
 
                     cl.addEnvironment( key, envVars.getProperty( key ) );
@@ -763,7 +764,7 @@
             throw new ScmException( "Fail to add PATH environment variable.", e1 );
 
         }
-        cl.addEnvironment( "CCM_ADDR", CCM_ADDR );
+        cl.addEnvironment( "CCM_ADDR", ccmAddr );
 
     }
 
@@ -805,12 +806,12 @@
      * @return
      * @throws ScmException
      */
-    public static Commandline delimiter( String CCM_ADDR )
+    public static Commandline delimiter( String ccmAddr )
         throws ScmException
     {
         Commandline cl = new Commandline();
 
-        configureEnvironment( cl, CCM_ADDR );
+        configureEnvironment( cl, ccmAddr );
 
         cl.setExecutable( CCM );
         cl.createArgument().setValue( DELIMITER );
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyRole.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyRole.java
index 45b3ec9..732b365 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyRole.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyRole.java
@@ -23,6 +23,7 @@
  * This class contains the different Synergy roles available.
  *
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyRole
 {
@@ -38,6 +39,7 @@
         this.value = value;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return value;
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyTask.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyTask.java
index 3d5d71a..27fb6fe 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyTask.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyTask.java
@@ -25,6 +25,7 @@
  * This class contains the different Synergy roles available.
  *
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyTask
 {
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java
index 6b9c524..f90e9d2 100644
--- a/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java
@@ -46,6 +46,7 @@
  * This class contains functional methodsfor Synergy.
  *
  * @author <a href="mailto:julien.henry@capgemini.com">Julien Henry</a>
+ * @version $Id$
  */
 public class SynergyUtil
 {
@@ -88,18 +89,19 @@
      * Get a working project whose predecessor is given.
      *
      * @param logger       a logger.
-     * @param project_spec predecessor (prep project)
+     * @param projectSpec predecessor (prep project)
      * @param username     owner of working project
      * @param ccmAddr      Synergy session ID.
-     * @return project_spec of the working checkout, or null if none
+     * @return projectSpec of the working checkout, or null if none
      */
-    public static String getWorkingProject( ScmLogger logger, String project_spec, String username, String ccmAddr )
+    public static String getWorkingProject( ScmLogger logger, String projectSpec, String username, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering getWorkingProject method" );
 
-        String query = "owner='" + username + "' and status='working' and type='project' and has_predecessor('" +
-            project_spec + ":project:1')";
+        String query =
+            "owner='" + username + "' and status='working' and type='project' and has_predecessor('" + projectSpec
+                + ":project:1')";
 
         Commandline cl = SynergyCCM.query( query, "%displayname", ccmAddr );
 
@@ -117,17 +119,17 @@
      * Get working file(s) in a given project.
      *
      * @param logger       a logger.
-     * @param project_spec (project)
+     * @param projectSpec (project)
      * @param release      release
      * @param ccmAddr      Synergy session ID.
      * @return list of working files.
      */
-    public static List getWorkingFiles( ScmLogger logger, String project_spec, String release, String ccmAddr )
+    public static List getWorkingFiles( ScmLogger logger, String projectSpec, String release, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering getWorkingFiles method" );
 
-        String query = "status='working' and release='" + release + "' and is_member_of('" + project_spec + "')";
+        String query = "status='working' and release='" + release + "' and is_member_of('" + projectSpec + "')";
 
         Commandline cl = SynergyCCM.query( query, SynergyGetWorkingFilesConsumer.OUTPUT_FORMAT, ccmAddr );
 
@@ -175,7 +177,7 @@
      * startDate and before endDate.
      *
      * @param logger      a logger.
-     * @param projectSpec project_spec.
+     * @param projectSpec projectSpec.
      * @param startDate   start date.
      * @param endDate     end date.
      * @param ccmAddr     Synergy session ID.
@@ -219,7 +221,7 @@
      * Create a baseline.
      *
      * @param logger      a logger.
-     * @param projectSpec the project_spec.
+     * @param projectSpec the projectSpec.
      * @param name        name of the baseline.
      * @param release     the release.
      * @param purpose     the purpose.
@@ -369,15 +371,15 @@
      * Reconfigure a project.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @throws ScmException
      */
-    public static void reconfigure( ScmLogger logger, String project_spec, String ccmAddr )
+    public static void reconfigure( ScmLogger logger, String projectSpec, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering reconfigure method" );
-        Commandline cl = SynergyCCM.reconfigure( project_spec, ccmAddr );
+        Commandline cl = SynergyCCM.reconfigure( projectSpec, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -389,15 +391,15 @@
      * Reconfigure properties of a project.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @throws ScmException
      */
-    public static void reconfigureProperties( ScmLogger logger, String project_spec, String ccmAddr )
+    public static void reconfigureProperties( ScmLogger logger, String projectSpec, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering reconfigureProperties method" );
-        Commandline cl = SynergyCCM.reconfigureProperties( project_spec, ccmAddr );
+        Commandline cl = SynergyCCM.reconfigureProperties( projectSpec, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -409,15 +411,15 @@
      * Reconcile a project with -uwa option.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @throws ScmException
      */
-    public static void reconcileUwa( ScmLogger logger, String project_spec, String ccmAddr )
+    public static void reconcileUwa( ScmLogger logger, String projectSpec, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering reconcileUwa method" );
-        Commandline cl = SynergyCCM.reconcileUwa( project_spec, ccmAddr );
+        Commandline cl = SynergyCCM.reconcileUwa( projectSpec, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -429,15 +431,15 @@
      * Reconcile a project with -udb option.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @throws ScmException
      */
-    public static void reconcileUdb( ScmLogger logger, String project_spec, String ccmAddr )
+    public static void reconcileUdb( ScmLogger logger, String projectSpec, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering reconcileUdb method" );
-        Commandline cl = SynergyCCM.reconcileUdb( project_spec, ccmAddr );
+        Commandline cl = SynergyCCM.reconcileUdb( projectSpec, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -471,18 +473,18 @@
      *
      * @param logger       a logger.
      * @param directory    new project work area, or null if you want to use default wa.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @return checkout directory (directory + new project spec)
      * @throws ScmException
      */
-    public static void checkoutProject( ScmLogger logger, File directory, String project_spec, ScmVersion version,
+    public static void checkoutProject( ScmLogger logger, File directory, String projectSpec, ScmVersion version,
                                         String purpose, String release, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering checkoutProject project method" );
 
-        Commandline cl = SynergyCCM.checkoutProject( directory, project_spec, version, purpose, release, ccmAddr );
+        Commandline cl = SynergyCCM.checkoutProject( directory, projectSpec, version, purpose, release, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -495,18 +497,18 @@
      * Checkin a given project.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param comment      message.
      * @param ccmAddr      used to run in multi-session.
      * @return checkout directory (directory + new project spec)
      * @throws ScmException
      */
-    public static void checkinProject( ScmLogger logger, String project_spec, String comment, String ccmAddr )
+    public static void checkinProject( ScmLogger logger, String projectSpec, String comment, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering checkinProject project method" );
 
-        Commandline cl = SynergyCCM.checkinProject( project_spec, comment, ccmAddr );
+        Commandline cl = SynergyCCM.checkinProject( projectSpec, comment, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -541,16 +543,16 @@
      * Synchronize a given project.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @throws ScmException
      */
-    public static void synchronize( ScmLogger logger, String project_spec, String ccmAddr )
+    public static void synchronize( ScmLogger logger, String projectSpec, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering synchronize method" );
 
-        Commandline cl = SynergyCCM.synchronize( project_spec, ccmAddr );
+        Commandline cl = SynergyCCM.synchronize( projectSpec, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -562,16 +564,16 @@
      * Get the work area of a given project.
      *
      * @param logger       a logger.
-     * @param project_spec project_spec (i.e. myProject~1).
+     * @param projectSpec projectSpec (i.e. myProject~1).
      * @param ccmAddr      used to run in multi-session.
      * @throws ScmException
      */
-    public static File getWorkArea( ScmLogger logger, String project_spec, String ccmAddr )
+    public static File getWorkArea( ScmLogger logger, String projectSpec, String ccmAddr )
         throws ScmException
     {
         logger.debug( "Synergy : Entering getWorkArea method" );
 
-        Commandline cl = SynergyCCM.showWorkArea( project_spec, ccmAddr );
+        Commandline cl = SynergyCCM.showWorkArea( projectSpec, ccmAddr );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         SynergyWorkareaConsumer stdout = new SynergyWorkareaConsumer( logger );
@@ -700,13 +702,13 @@
         {
             if ( stdout instanceof StringStreamConsumer )
             {
-                throw new ScmException( "Commandeline = " + cl.toString() + "\nSTDOUT = " +
-                    ( (StringStreamConsumer) stdout ).getOutput() + "\nSTDERR = " + stderr.getOutput() + "\n" );
+                throw new ScmException( "Commandeline = " + cl.toString() + "\nSTDOUT = "
+                    + ( (StringStreamConsumer) stdout ).getOutput() + "\nSTDERR = " + stderr.getOutput() + "\n" );
             }
             else
             {
-                throw new ScmException( "Commandeline = " + cl.toString() + "\nSTDOUT = unavailable" + "\nSTDERR = " +
-                    stderr.getOutput() + "\n" );
+                throw new ScmException( "Commandeline = " + cl.toString() + "\nSTDOUT = unavailable" + "\nSTDERR = "
+                    + stderr.getOutput() + "\n" );
             }
         }
 
diff --git a/maven-scm-providers/maven-scm-provider-synergy/src/site/site.xml b/maven-scm-providers/maven-scm-provider-synergy/src/site/site.xml
new file mode 100644
index 0000000..b7cae23
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-synergy/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Synergy Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-provider-vss/pom.xml b/maven-scm-providers/maven-scm-provider-vss/pom.xml
index 57e67c4..21e5b53 100644
--- a/maven-scm-providers/maven-scm-provider-vss/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-vss/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,19 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-vss</artifactId>
+
   <name>Maven SCM Visual Source Safe Provider</name>
-  <version>1.1</version>
+  <description>SCM Provider implementation for VSS (http://msdn.microsoft.com/en-us/vstudio/aa700907.aspx).</description>
+
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/VssScmProvider.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/VssScmProvider.java
index c319ebc..7e8dd80 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/VssScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/VssScmProvider.java
@@ -43,7 +43,6 @@
 /**
  * @author <a href="mailto:george@neogrid.com.br">George Gastaldi</a>
  * @version $Id$
- * @link http://msdn.microsoft.com/library/default.asp?url=/library/en-us/guides/html/vstskuse_command_line_commands_and_options.asp
  * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="vss"
  */
 public class VssScmProvider
@@ -56,11 +55,13 @@
     // ScmProvider Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return "vssver.scc";
     }
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
@@ -108,16 +109,13 @@
         return new VssScmProviderRepository( user, password, vssDir, project );
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "vss";
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -128,11 +126,6 @@
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
     /*
      public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
      throws ScmException
@@ -146,11 +139,7 @@
      }
      */
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -162,11 +151,7 @@
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -178,11 +163,6 @@
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(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
@@ -196,11 +176,7 @@
      }
      */
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -211,11 +187,7 @@
         return (UpdateScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -226,11 +198,7 @@
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#edit(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public EditScmResult edit( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -241,13 +209,9 @@
         return (EditScmResult) command.execute( repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#unedit(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
     /*
-    public UnEditScmResult unedit( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+    public UnEditScmResult unedit( ScmProviderRepository repository, ScmFileSet fileSet,
+                                   CommandParameters parameters )
         throws ScmException
     {
         VssUnEditCommand command = new VssUnEditCommand();
@@ -258,13 +222,9 @@
     }
     */
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.provider.ScmProviderRepository,
-     *org.apache.maven.scm.ScmFileSet,
-     *org.apache.maven.scm.CommandParameters)
-     */
     /*
-     protected RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+     protected RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet,
+                                       CommandParameters parameters )
      throws ScmException
      {
      VssRemoveCommand command = new VssRemoveCommand();
@@ -275,5 +235,4 @@
      .getProviderRepository(), fileSet, parameters );
      }
      */
-
 }
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtils.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtils.java
index 186a112..d72bea5 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtils.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtils.java
@@ -43,7 +43,7 @@
  * @version $Id$
  */
 public class VssCommandLineUtils
-    implements VssConstants  // FIXME extend CommandLineUtils
+    // FIXME extend CommandLineUtils
 {
     private static File scmConfDir = new File( System.getProperty( "user.home" ), ".scm" );
 
@@ -119,15 +119,17 @@
             }
             catch ( FileNotFoundException e )
             {
+                // nop
             }
             catch ( IOException e )
             {
+                // nop
             }
             catch ( XmlPullParserException e )
             {
                 String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
 
-                System.out.println( message );
+                System.err.println( message );
             }
         }
 
@@ -159,11 +161,11 @@
         String ssDir = "";
         if ( VssCommandLineUtils.getSettings() != null )
         {
-            String _ssDir = VssCommandLineUtils.getSettings().getVssDirectory();
+            String ssDir2 = VssCommandLineUtils.getSettings().getVssDirectory();
 
-            if ( _ssDir != null )
+            if ( ssDir2 != null )
             {
-                ssDir = StringUtils.replace( _ssDir, "\\", "/" );
+                ssDir = StringUtils.replace( ssDir2, "\\", "/" );
 
                 if ( !ssDir.endsWith( "/" ) )
                 {
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssConstants.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssConstants.java
index c09ec42..2413f8d 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssConstants.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssConstants.java
@@ -21,172 +21,174 @@
 
 /**
  * Holds all the constants for the VSS tasks.
+ *
+ * @version $Id$
  */
-public interface VssConstants
+public class VssConstants
 {
     /**
      * Constant for the thing to execute
      */
-    String SS_EXE = "ss";
+    public static final String SS_EXE = "ss";
 
     /**
      * Dollar Sigh to prefix the project path
      */
-    String PROJECT_PREFIX = "$";
+    public static final String PROJECT_PREFIX = "$";
 
     /**
      * The 'CP' command
      */
-    String COMMAND_CP = "CP";
+    public static final String COMMAND_CP = "CP";
 
     /**
      * The 'Add' command
      */
-    String COMMAND_ADD = "Add";
+    public static final String COMMAND_ADD = "Add";
 
     /**
      * The 'Get' command
      */
-    String COMMAND_GET = "Get";
+    public static final String COMMAND_GET = "Get";
 
     /**
      * The 'Checkout' command
      */
-    String COMMAND_CHECKOUT = "Checkout";
+    public static final String COMMAND_CHECKOUT = "Checkout";
 
     /**
      * The 'Checkin' command
      */
-    String COMMAND_CHECKIN = "Checkin";
+    public static final String COMMAND_CHECKIN = "Checkin";
 
     /**
      * The 'Label' command
      */
-    String COMMAND_LABEL = "Label";
+    public static final String COMMAND_LABEL = "Label";
 
     /**
      * The 'History' command
      */
-    String COMMAND_HISTORY = "History";
+    public static final String COMMAND_HISTORY = "History";
 
     /**
      * The 'Create' command
      */
-    String COMMAND_CREATE = "Create";
+    public static final String COMMAND_CREATE = "Create";
 
     /**
      * The 'Status' command
      */
-    String COMMAND_DIFF = "Diff";
+    public static final String COMMAND_DIFF = "Diff";
 
     /**
      * The 'Status' command
      */
-    String COMMAND_STATUS = "Status";
+    public static final String COMMAND_STATUS = "Status";
 
     /**
      * The brief style flag
      */
-    String STYLE_BRIEF = "brief";
+    public static final String STYLE_BRIEF = "brief";
 
     /**
      * The codediff style flag
      */
-    String STYLE_CODEDIFF = "codediff";
+    public static final String STYLE_CODEDIFF = "codediff";
 
     /**
      * The nofile style flag
      */
-    String STYLE_NOFILE = "nofile";
+    public static final String STYLE_NOFILE = "nofile";
 
     /**
      * The default style flag
      */
-    String STYLE_DEFAULT = "default";
+    public static final String STYLE_DEFAULT = "default";
 
     /**
      * The text for  current (default) timestamp
      */
-    String TIME_CURRENT = "current";
+    public static final String TIME_CURRENT = "current";
 
     /**
      * The text for  modified timestamp
      */
-    String TIME_MODIFIED = "modified";
+    public static final String TIME_MODIFIED = "modified";
 
     /**
      * The text for  updated timestamp
      */
-    String TIME_UPDATED = "updated";
+    public static final String TIME_UPDATED = "updated";
 
     /**
      * The text for replacing writable files
      */
-    String WRITABLE_REPLACE = "replace";
+    public static final String WRITABLE_REPLACE = "replace";
 
     /**
      * The text for skiping writable files
      */
-    String WRITABLE_SKIP = "skip";
+    public static final String WRITABLE_SKIP = "skip";
 
     /**
      * The text for failing on writable files
      */
-    String WRITABLE_FAIL = "fail";
+    public static final String WRITABLE_FAIL = "fail";
 
-    String FLAG_LOGIN = "-Y";
+    public static final String FLAG_LOGIN = "-Y";
 
-    String FLAG_OVERRIDE_WORKING_DIR = "-GL";
+    public static final String FLAG_OVERRIDE_WORKING_DIR = "-GL";
 
-    String FLAG_AUTORESPONSE_DEF = "-I-";
+    public static final String FLAG_AUTORESPONSE_DEF = "-I-";
 
-    String FLAG_AUTORESPONSE_YES = "-I-Y";
+    public static final String FLAG_AUTORESPONSE_YES = "-I-Y";
 
-    String FLAG_AUTORESPONSE_NO = "-I-N";
+    public static final String FLAG_AUTORESPONSE_NO = "-I-N";
 
-    String FLAG_RECURSION = "-R";
+    public static final String FLAG_RECURSION = "-R";
 
-    String FLAG_VERSION = "-V";
+    public static final String FLAG_VERSION = "-V";
 
-    String FLAG_VERSION_DATE = "-Vd";
+    public static final String FLAG_VERSION_DATE = "-Vd";
 
-    String FLAG_VERSION_LABEL = "-VL";
+    public static final String FLAG_VERSION_LABEL = "-VL";
 
-    String FLAG_WRITABLE = "-W";
+    public static final String FLAG_WRITABLE = "-W";
 
-    String VALUE_NO = "-N";
+    public static final String VALUE_NO = "-N";
 
-    String VALUE_YES = "-Y";
+    public static final String VALUE_YES = "-Y";
 
-    String FLAG_QUIET = "-O-";
+    public static final String FLAG_QUIET = "-O-";
 
-    String FLAG_COMMENT = "-C";
+    public static final String FLAG_COMMENT = "-C";
 
-    String FLAG_LABEL = "-L";
+    public static final String FLAG_LABEL = "-L";
 
-    String VALUE_FROMDATE = "~d";
+    public static final String VALUE_FROMDATE = "~d";
 
-    String VALUE_FROMLABEL = "~L";
+    public static final String VALUE_FROMLABEL = "~L";
 
-    String FLAG_OUTPUT = "-O";
+    public static final String FLAG_OUTPUT = "-O";
 
-    String FLAG_USER = "-U";
+    public static final String FLAG_USER = "-U";
 
-    String FLAG_NO_FILE = "-F-";
+    public static final String FLAG_NO_FILE = "-F-";
 
-    String FLAG_BRIEF = "-B";
+    public static final String FLAG_BRIEF = "-B";
 
-    String FLAG_CODEDIFF = "-D";
+    public static final String FLAG_CODEDIFF = "-D";
 
-    String FLAG_FILETIME_DEF = "-GTC";
+    public static final String FLAG_FILETIME_DEF = "-GTC";
 
-    String FLAG_FILETIME_MODIFIED = "-GTM";
+    public static final String FLAG_FILETIME_MODIFIED = "-GTM";
 
-    String FLAG_FILETIME_UPDATED = "-GTU";
+    public static final String FLAG_FILETIME_UPDATED = "-GTU";
 
-    String FLAG_REPLACE_WRITABLE = "-GWR";
+    public static final String FLAG_REPLACE_WRITABLE = "-GWR";
 
-    String FLAG_SKIP_WRITABLE = "-GWS";
+    public static final String FLAG_SKIP_WRITABLE = "-GWS";
 
-    String FLAG_NO_GET = "-G-";
+    public static final String FLAG_NO_GET = "-G-";
 }
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssParameterContext.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssParameterContext.java
index e0d50e9..0564da6 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssParameterContext.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/VssParameterContext.java
@@ -35,7 +35,6 @@
  * @version $Id$
  */
 public class VssParameterContext
-    implements VssConstants
 {
 
     private String vssPath = null;
@@ -115,7 +114,7 @@
         autoResponse = System.getProperty( "maven.scm.autoResponse" );
         this.ssDir = repo.getVssdir();
         this.user = repo.getUser();
-//		this.vssLogin = this.user + (repos.getPassword() == null ? "" : ","+repos.getPassword());
+//        this.vssLogin = this.user + (repos.getPassword() == null ? "" : ","+repos.getPassword());
     }
 
     /**
@@ -125,7 +124,7 @@
      */
     public String getGetLocalCopy()
     {
-        return ( !getLocalCopy ) ? FLAG_NO_GET : "";
+        return ( !getLocalCopy ) ? VssConstants.FLAG_NO_GET : "";
     }
 
     /**
@@ -188,9 +187,9 @@
                     String msg = "Directory " + localPath + " creation was not " + "successful for an unknown reason";
                     throw new ScmException( msg );
                 }
-//				getLogger().info("Created dir: " + dir.getAbsolutePath());
+//                getLogger().info("Created dir: " + dir.getAbsolutePath());
             }
-            lclPath = FLAG_OVERRIDE_WORKING_DIR + localPath;
+            lclPath = VssConstants.FLAG_OVERRIDE_WORKING_DIR + localPath;
         }
         return lclPath;
     }
@@ -205,7 +204,7 @@
         String shortLabel = "";
         if ( label != null && label.length() > 0 )
         {
-            shortLabel = FLAG_LABEL + getShortLabel();
+            shortLabel = VssConstants.FLAG_LABEL + getShortLabel();
         }
         return shortLabel;
     }
@@ -221,11 +220,11 @@
         String versionDateLabel = "";
         if ( version != null )
         {
-            versionDateLabel = FLAG_VERSION + version;
+            versionDateLabel = VssConstants.FLAG_VERSION + version;
         }
         else if ( date != null )
         {
-            versionDateLabel = FLAG_VERSION_DATE + date;
+            versionDateLabel = VssConstants.FLAG_VERSION_DATE + date;
         }
         else
         {
@@ -234,7 +233,7 @@
             String shortLabel = getShortLabel();
             if ( shortLabel != null && !shortLabel.equals( "" ) )
             {
-                versionDateLabel = FLAG_VERSION_LABEL + shortLabel;
+                versionDateLabel = VssConstants.FLAG_VERSION_LABEL + shortLabel;
             }
         }
         return versionDateLabel;
@@ -247,7 +246,7 @@
      */
     public String getVersion()
     {
-        return version != null ? FLAG_VERSION + version : "";
+        return version != null ? VssConstants.FLAG_VERSION + version : "";
     }
 
     /**
@@ -262,9 +261,9 @@
         if ( label != null && label.length() > 31 )
         {
             shortLabel = this.label.substring( 0, 30 );
-//			getLogger().warn(
-//					"Label is longer than 31 characters, truncated to: "
-//							+ shortLabel);
+//            getLogger().warn(
+//                    "Label is longer than 31 characters, truncated to: "
+//                            + shortLabel);
         }
         else
         {
@@ -290,7 +289,7 @@
      */
     public String getRecursive()
     {
-        return recursive ? FLAG_RECURSION : "";
+        return recursive ? VssConstants.FLAG_RECURSION : "";
     }
 
     /**
@@ -300,7 +299,7 @@
      */
     public String getWritable()
     {
-        return writable ? FLAG_WRITABLE : "";
+        return writable ? VssConstants.FLAG_WRITABLE : "";
     }
 
     /**
@@ -310,7 +309,7 @@
      */
     public String getQuiet()
     {
-        return quiet ? FLAG_QUIET : "";
+        return quiet ? VssConstants.FLAG_QUIET : "";
     }
 
     public String getVersionLabel()
@@ -324,40 +323,40 @@
             if ( fromLabel.length() > 31 )
             {
                 fromLabel = fromLabel.substring( 0, 30 );
-//				getLogger().warn(
-//						"FromLabel is longer than 31 characters, truncated to: "
-//								+ fromLabel);
+//                getLogger().warn(
+//                        "FromLabel is longer than 31 characters, truncated to: "
+//                                + fromLabel);
             }
             if ( toLabel.length() > 31 )
             {
                 toLabel = toLabel.substring( 0, 30 );
-//				getLogger().warn(
-//						"ToLabel is longer than 31 characters, truncated to: "
-//								+ toLabel);
+//                getLogger().warn(
+//                        "ToLabel is longer than 31 characters, truncated to: "
+//                                + toLabel);
             }
-            return FLAG_VERSION_LABEL + toLabel + VALUE_FROMLABEL + fromLabel;
+            return VssConstants.FLAG_VERSION_LABEL + toLabel + VssConstants.VALUE_FROMLABEL + fromLabel;
         }
         else if ( fromLabel != null )
         {
             if ( fromLabel.length() > 31 )
             {
                 fromLabel = fromLabel.substring( 0, 30 );
-//				getLogger().warn(
-//						"FromLabel is longer than 31 characters, truncated to: "
-//								+ fromLabel);
+//                getLogger().warn(
+//                        "FromLabel is longer than 31 characters, truncated to: "
+//                                + fromLabel);
             }
-            return FLAG_VERSION + VALUE_FROMLABEL + fromLabel;
+            return VssConstants.FLAG_VERSION + VssConstants.VALUE_FROMLABEL + fromLabel;
         }
         else
         {
             if ( toLabel.length() > 31 )
             {
                 toLabel = toLabel.substring( 0, 30 );
-//				getLogger().warn(
-//						"ToLabel is longer than 31 characters, truncated to: "
-//								+ toLabel);
+//                getLogger().warn(
+//                        "ToLabel is longer than 31 characters, truncated to: "
+//                                + toLabel);
             }
-            return FLAG_VERSION_LABEL + toLabel;
+            return VssConstants.FLAG_VERSION_LABEL + toLabel;
         }
     }
 
@@ -368,7 +367,7 @@
      */
     public String getUser()
     {
-        return user != null ? FLAG_USER + user : "";
+        return user != null ? VssConstants.FLAG_USER + user : "";
     }
 
     /**
@@ -378,7 +377,7 @@
      */
     public String getComment()
     {
-        return comment != null ? FLAG_COMMENT + comment : FLAG_COMMENT + "-";
+        return comment != null ? VssConstants.FLAG_COMMENT + comment : VssConstants.FLAG_COMMENT + "-";
     }
 
     /**
@@ -389,7 +388,7 @@
      */
     public String getLogin()
     {
-        return vssLogin != null ? ( FLAG_LOGIN + vssLogin ) : "";
+        return vssLogin != null ? ( VssConstants.FLAG_LOGIN + vssLogin ) : "";
     }
 
     /**
@@ -401,19 +400,19 @@
     {
         if ( autoResponse == null )
         {
-            return FLAG_AUTORESPONSE_DEF;
+            return VssConstants.FLAG_AUTORESPONSE_DEF;
         }
         else if ( autoResponse.equalsIgnoreCase( "Y" ) )
         {
-            return FLAG_AUTORESPONSE_YES;
+            return VssConstants.FLAG_AUTORESPONSE_YES;
         }
         else if ( autoResponse.equalsIgnoreCase( "N" ) )
         {
-            return FLAG_AUTORESPONSE_NO;
+            return VssConstants.FLAG_AUTORESPONSE_NO;
         }
         else
         {
-            return FLAG_AUTORESPONSE_DEF;
+            return VssConstants.FLAG_AUTORESPONSE_DEF;
         }
     }
 
@@ -426,9 +425,9 @@
     {
         if ( ssDir == null )
         {
-            return SS_EXE;
+            return VssConstants.SS_EXE;
         }
-        return ssDir.endsWith( File.separator ) ? ssDir + SS_EXE : ssDir + File.separator + SS_EXE;
+        return ssDir.endsWith( File.separator ) ? ssDir + VssConstants.SS_EXE : ssDir + File.separator + VssConstants.SS_EXE;
     }
 
     public String getVssPath()
@@ -452,13 +451,13 @@
         }
         if ( fromDate != null && toDate != null )
         {
-            return FLAG_VERSION_DATE + toDate + VALUE_FROMDATE + fromDate;
+            return VssConstants.FLAG_VERSION_DATE + toDate + VssConstants.VALUE_FROMDATE + fromDate;
         }
         else if ( toDate != null && numDays != Integer.MIN_VALUE )
         {
             try
             {
-                return FLAG_VERSION_DATE + toDate + VALUE_FROMDATE + calcDate( toDate, numDays );
+                return VssConstants.FLAG_VERSION_DATE + toDate + VssConstants.VALUE_FROMDATE + calcDate( toDate, numDays );
             }
             catch ( ParseException ex )
             {
@@ -470,7 +469,7 @@
         {
             try
             {
-                return FLAG_VERSION_DATE + calcDate( fromDate, numDays ) + VALUE_FROMDATE + fromDate;
+                return VssConstants.FLAG_VERSION_DATE + calcDate( fromDate, numDays ) + VssConstants.VALUE_FROMDATE + fromDate;
             }
             catch ( ParseException ex )
             {
@@ -480,7 +479,7 @@
         }
         else
         {
-            return fromDate != null ? FLAG_VERSION + VALUE_FROMDATE + fromDate : FLAG_VERSION_DATE + toDate;
+            return fromDate != null ? VssConstants.FLAG_VERSION + VssConstants.VALUE_FROMDATE + fromDate : VssConstants.FLAG_VERSION_DATE + toDate;
         }
     }
 
@@ -491,7 +490,7 @@
      */
     public String getOutput()
     {
-        return outputFileName != null ? FLAG_OUTPUT + outputFileName : "";
+        return outputFileName != null ? VssConstants.FLAG_OUTPUT + outputFileName : "";
     }
 
     /**
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddCommand.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddCommand.java
index 0352a4c..8f92e32 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddCommand.java
@@ -39,6 +39,7 @@
 public class VssAddCommand
     extends AbstractAddCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddConsumer.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddConsumer.java
index ab03fc7..807a8dd 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/add/VssAddConsumer.java
@@ -51,6 +51,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.length() <= 3 )
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssChangeLogConsumer.java
index 7cc160b..05c61b5 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssChangeLogConsumer.java
@@ -86,7 +86,7 @@
     /**
      * Marks start of file data
      */
-    private static String START_FILE_PATH = "$/";
+    private static final String START_FILE_PATH = "$/";
 
     /**
      * Marks start of revision
@@ -133,6 +133,7 @@
         return new ArrayList( entries.values() );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         switch ( getLineStatus( line ) )
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
index 9938ac9..f512f7a 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
@@ -43,6 +43,7 @@
 public class VssHistoryCommand
     extends AbstractChangeLogCommand
 {
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java
index 9c78447..895ba9d 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java
@@ -39,6 +39,7 @@
     extends AbstractCheckOutCommand
 {
 
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutConsumer.java
index 3614156..4f4dbb1 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutConsumer.java
@@ -72,7 +72,7 @@
     /**
      * Marks start of file data
      */
-    private static String START_FILE_PATH = "$/";
+    private static final String START_FILE_PATH = "$/";
 
     /**
      * Marks getting a new File
@@ -106,6 +106,7 @@
         this.repo = repo;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java
index 1eb4c04..8bb9ea9 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java
@@ -41,6 +41,7 @@
     extends AbstractEditCommand
 {
 
+    /** {@inheritDoc} */
     protected ScmResult executeEditCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -119,7 +120,7 @@
     }
 
     /**
-     * @see org.apache.maven.scm.command.checkout.AbstractCheckOutCommand#getChangeLogCommand()
+     * @return
      */
     protected ChangeLogCommand getChangeLogCommand()
     {
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditConsumer.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditConsumer.java
index 30ec9bb..4167269 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditConsumer.java
@@ -72,7 +72,7 @@
     /**
      * Marks start of file data
      */
-    private static String START_FILE_PATH = "$/";
+    private static final String START_FILE_PATH = "$/";
 
     /**
      * Marks getting a new File
@@ -106,6 +106,7 @@
         this.repo = repo;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
@@ -151,7 +152,8 @@
      */
     private void processReplaceFile( String line )
     {
-//        updatedFiles.add( new ScmFile( currentPath + "/" + line.substring(START_CURRENTLY_CHECKED_OUT.length()), ScmFileStatus.UPDATED ) );
+//        updatedFiles.add( new ScmFile( currentPath + "/" + line.substring(START_CURRENTLY_CHECKED_OUT.length()),
+//                          ScmFileStatus.UPDATED ) );
         getLogger().info(
             START_CURRENTLY_CHECKED_OUT + currentPath + "/" + line.substring( START_CURRENTLY_CHECKED_OUT.length() ) );
     }
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusCommand.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusCommand.java
index f567e0f..51106f0 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusCommand.java
@@ -39,6 +39,7 @@
 public class VssStatusCommand
     extends AbstractStatusCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
@@ -119,7 +120,7 @@
     }
 
     /**
-     * @see org.apache.maven.scm.command.update.AbstractUpdateCommand#getChangeLogCommand()
+     * @return
      */
     protected ChangeLogCommand getChangeLogCommand()
     {
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusConsumer.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusConsumer.java
index 48ad642..3e9d5da 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/status/VssStatusConsumer.java
@@ -114,6 +114,7 @@
         this.fileSet = fileSet;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
 
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java
index cfc9d45..ff5cfa5 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java
@@ -1,23 +1,24 @@
 package org.apache.maven.scm.provider.vss.commands.update;
 
 /*
-* 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.
-*/
+ * 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.ScmException;
 import org.apache.maven.scm.ScmFileSet;
@@ -41,6 +42,7 @@
     extends AbstractUpdateCommand
 {
     // TODO handle deleted files from VSS
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                     ScmVersion version )
         throws ScmException
@@ -117,9 +119,9 @@
         //Ignore: Do not ask for input under any circumstances.
         command.createArgument().setValue( VssConstants.FLAG_AUTORESPONSE_DEF );
 
-        // FIXME Update command only works if there is no file checked out 
-        // or no file is dirty locally. It's better than overwriting 
-        // checked out files 
+        // FIXME Update command only works if there is no file checked out
+        // or no file is dirty locally. It's better than overwriting
+        // checked out files
         //Ignore: Do not touch local writable files.
         command.createArgument().setValue( VssConstants.FLAG_SKIP_WRITABLE );
 //        command.createArgument().setValue( VssConstants.FLAG_REPLACE_WRITABLE );
@@ -130,9 +132,7 @@
         return command;
     }
 
-    /**
-     * @see org.apache.maven.scm.command.update.AbstractUpdateCommand#getChangeLogCommand()
-     */
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         VssHistoryCommand command = new VssHistoryCommand();
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateConsumer.java b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateConsumer.java
index a171400..4169074 100644
--- a/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateConsumer.java
@@ -72,7 +72,7 @@
     /**
      * Marks start of file data
      */
-    private static String START_FILE_PATH = "$/";
+    private static final String START_FILE_PATH = "$/";
 
     /**
      * Marks getting a new File
@@ -106,6 +106,7 @@
         this.repo = repo;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
diff --git a/maven-scm-providers/maven-scm-provider-vss/src/site/site.xml b/maven-scm-providers/maven-scm-provider-vss/src/site/site.xml
new file mode 100644
index 0000000..27a63b5
--- /dev/null
+++ b/maven-scm-providers/maven-scm-provider-vss/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM VSS Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
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 e29e981..2acb1ac 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,27 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-cvs</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-cvs-commons</artifactId>
+
   <name>Maven SCM CVS Provider - Common library</name>
-  <version>1.1</version>
+  <description>Common library for SCM CVS Provider.</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-cvstest</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
   <build>
     <plugins>
       <plugin>
@@ -48,12 +62,4 @@
       </plugin>
     </plugins>
   </build>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvstest</artifactId>
-      <version>1.1</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
 </project>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
index 0a87797..aa27441 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java
@@ -60,35 +60,39 @@
     extends AbstractScmProvider
 {
     /** */
-    public final static String TRANSPORT_LOCAL = "local";
+    public static final String TRANSPORT_LOCAL = "local";
 
     /** */
-    public final static String TRANSPORT_PSERVER = "pserver";
+    public static final String TRANSPORT_PSERVER = "pserver";
 
     /** */
-    public final static String TRANSPORT_LSERVER = "lserver";
+    public static final String TRANSPORT_LSERVER = "lserver";
 
     /** */
-    public final static String TRANSPORT_EXT = "ext";
+    public static final String TRANSPORT_EXT = "ext";
 
     /** */
-    public final static String TRANSPORT_SSPI = "sspi";
+    public static final String TRANSPORT_SSPI = "sspi";
 
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
+    /**
+     * Internal class
+     */
     private static class ScmUrlParserResult
     {
-        List messages = new ArrayList();
+        private List messages = new ArrayList();
 
-        ScmProviderRepository repository;
+        private ScmProviderRepository repository;
     }
 
     // ----------------------------------------------------------------------
     // ScmProvider Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return "CVS";
@@ -103,11 +107,7 @@
     * for example by starting with `.', rather than being named analogously
     * to BASE and HEAD, to avoid conflicts with actual tag names."
     */
-
-    /* (non-Javadoc)
-    * @see org.apache.maven.scm.provider.AbstractScmProvider#sanitizeTagName(java.lang.String)
-    */
-
+    /** {@inheritDoc} */
     public String sanitizeTagName( String arg0 )
     {
         if ( validateTagName( arg0 ) )
@@ -126,14 +126,13 @@
         return arg0.replaceAll( "[^A-Za-z0-9_-]", "_" );
     }
 
-    /* (non-Javadoc)
-    * @see org.apache.maven.scm.provider.AbstractScmProvider#validateTagName(java.lang.String)
-    */
+    /** {@inheritDoc} */
     public boolean validateTagName( String arg0 )
     {
         return ( arg0.matches( "[A-Za-z][A-Za-z0-9_-]*" ) && !arg0.equals( "HEAD" ) && !arg0.equals( "BASE" ) );
     }
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
@@ -147,9 +146,7 @@
         return result.repository;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#makeProviderScmRepository(java.io.File)
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
@@ -193,6 +190,7 @@
         return makeProviderScmRepository( cvsRoot + ":" + module, ':' );
     }
 
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
         ScmUrlParserResult result = parseScmUrl( scmSpecificUrl, delimiter );
@@ -200,6 +198,7 @@
         return result.messages;
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "cvs";
@@ -231,8 +230,8 @@
             // use the local repository directory eg. '/home/cvspublic'
             cvsroot = tokens[1];
         }
-        else if ( transport.equalsIgnoreCase( TRANSPORT_PSERVER ) || transport.equalsIgnoreCase( TRANSPORT_LSERVER ) ||
-            transport.equalsIgnoreCase( TRANSPORT_EXT ) || transport.equalsIgnoreCase( TRANSPORT_SSPI ) )
+        else if ( transport.equalsIgnoreCase( TRANSPORT_PSERVER ) || transport.equalsIgnoreCase( TRANSPORT_LSERVER )
+            || transport.equalsIgnoreCase( TRANSPORT_EXT ) || transport.equalsIgnoreCase( TRANSPORT_SSPI ) )
         {
             if ( tokens.length != 4 && transport.equalsIgnoreCase( TRANSPORT_EXT ) )
             {
@@ -441,14 +440,14 @@
             }
 
             // no port specified
-            if ( tokens.length == 4 ) 
+            if ( tokens.length == 4 )
             {
                 path = tokens[2];
                 module = tokens[3];
             }
             else
             {
-            	// getting port
+                // getting port
                 try
                 {
                     port = new Integer( tokens[2] ).intValue();
@@ -466,7 +465,7 @@
 
             // cvsroot format is :sspi:host:path
             cvsroot = ":" + transport + ":" + host + ":";
-            
+
             if ( port != -1 )
             {
                 cvsroot += port;
@@ -575,27 +574,21 @@
 
     protected abstract Command getUpdateCommand();
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (AddScmResult) executeCommand( getAddCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (BranchScmResult) executeCommand( getBranchCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -603,9 +596,7 @@
         return (ChangeLogScmResult) executeCommand( getChangeLogCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -613,9 +604,7 @@
         return (CheckInScmResult) executeCommand( getCheckInCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -623,18 +612,14 @@
         return (CheckOutScmResult) executeCommand( getCheckOutCommand(), 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)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (DiffScmResult) executeCommand( getDiffCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#export(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     protected ExportScmResult export( ScmProviderRepository repository, ScmFileSet fileSet,
                                       CommandParameters parameters )
         throws ScmException
@@ -642,54 +627,42 @@
         return (ExportScmResult) executeCommand( getExportCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#login(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public LoginScmResult login( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (LoginScmResult) executeCommand( getLoginCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (RemoveScmResult) executeCommand( getRemoveCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (StatusScmResult) executeCommand( getStatusCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (TagScmResult) executeCommand( getTagCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
         return (UpdateScmResult) executeCommand( getUpdateCommand(), repository, fileSet, parameters );
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#list(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     protected ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/add/AbstractCvsAddCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/add/AbstractCvsAddCommand.java
index b45ae91..f9d74c7 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/add/AbstractCvsAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/add/AbstractCvsAddCommand.java
@@ -45,6 +45,7 @@
     extends AbstractAddCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/AbstractCvsBranchCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/AbstractCvsBranchCommand.java
index 78334f5..101a212 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/AbstractCvsBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/AbstractCvsBranchCommand.java
@@ -38,6 +38,7 @@
     extends AbstractBranchCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branchName,
                                            String message )
         throws ScmException
diff --git a/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 b/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
index 9ad4ddd..322bbaa 100644
--- a/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
+++ b/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
@@ -45,6 +45,7 @@
     extends AbstractChangeLogCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           ScmVersion startVersion, ScmVersion endVersion,
                                                           String datePattern )
@@ -53,6 +54,7 @@
         return executeChangeLogCommand( repo, fileSet, null, null, null, startVersion, endVersion, datePattern );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
@@ -97,8 +99,8 @@
 
         if ( startVersion != null && StringUtils.isNotEmpty( startVersion.getName() ) )
         {
-            String param = "-r" + startVersion.getName() + "::" +
-                ( endVersion != null && StringUtils.isNotEmpty( endVersion.getName() ) ? endVersion.getName() : "" );
+            String param = "-r" + startVersion.getName() + ":"
+                + ( endVersion != null && StringUtils.isNotEmpty( endVersion.getName() ) ? endVersion.getName() : "" );
 
             cl.createArgument().setValue( param );
         }
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumer.java
index 0721059..19111c4 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumer.java
@@ -152,14 +152,15 @@
 
     private boolean areEqual( ChangeSet set1, ChangeSet set2 )
     {
-        if ( set1.getAuthor().equals( set2.getAuthor() ) && set1.getComment().equals( set2.getComment() ) &&
-            set1.getDate().equals( set2.getDate() ) )
+        if ( set1.getAuthor().equals( set2.getAuthor() ) && set1.getComment().equals( set2.getComment() )
+            && set1.getDate().equals( set2.getDate() ) )
         {
             return true;
         }
         return false;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
diff --git a/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 b/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
index ccd8368..6199820 100644
--- a/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
+++ b/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
@@ -44,6 +44,7 @@
     extends AbstractCheckInCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInConsumer.java
index f7ee02e..1bde476 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInConsumer.java
@@ -51,6 +51,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         /*
diff --git a/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 b/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
index 1bb2691..04d0d9e 100644
--- a/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
+++ b/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
@@ -43,6 +43,7 @@
     extends AbstractCheckOutCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutConsumer.java
index fbe6320..aa0499f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutConsumer.java
@@ -44,6 +44,7 @@
         this.logger = logger;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/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 b/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
index 31009fc..c912fbf 100644
--- a/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
+++ b/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
@@ -39,6 +39,7 @@
     extends AbstractDiffCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                 ScmVersion startRevision, ScmVersion endRevision )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffConsumer.java
index 46af0e4..c722dc6 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffConsumer.java
@@ -41,36 +41,37 @@
     //
     // Index: plugin.jelly
     // ===================================================================
-    // RCS file: /home/cvs/maven-scm/maven-scm-providers/maven-scm-provider-cvs/src/main/resources/META-INF/plexus/components.xml,v
+    // RCS file: /home/cvs/maven-scm/maven-scm-providers/maven-scm-provider-cvs/
+    //           src/main/resources/META-INF/plexus/components.xml,v
     // retrieving revision 1.2
     // diff -u -r1.2 components.xml
     // --- plugin.jelly        (revision 124799)
     // +++ plugin.jelly        (working copy)
     //
 
-    private final static String RCS_TOKEN = "RCS file: ";
+    private static final String RCS_TOKEN = "RCS file: ";
 
-    private final static String RETRIEVING_TOKEN = "retrieving revision ";
+    private static final String RETRIEVING_TOKEN = "retrieving revision ";
 
-    private final static String DIFF_TOKEN = "diff ";
+    private static final String DIFF_TOKEN = "diff ";
 
-    private final static String INDEX_TOKEN = "Index: ";
+    private static final String INDEX_TOKEN = "Index: ";
 
-    private final static String FILE_SEPARATOR_TOKEN = "===";
+    private static final String FILE_SEPARATOR_TOKEN = "===";
 
-    private final static String START_REVISION_TOKEN = "---";
+    private static final String START_REVISION_TOKEN = "---";
 
-    private final static String END_REVISION_TOKEN = "+++";
+    private static final String END_REVISION_TOKEN = "+++";
 
-    private final static String ADDED_LINE_TOKEN = "+";
+    private static final String ADDED_LINE_TOKEN = "+";
 
-    private final static String REMOVED_LINE_TOKEN = "-";
+    private static final String REMOVED_LINE_TOKEN = "-";
 
-    private final static String UNCHANGED_LINE_TOKEN = " ";
+    private static final String UNCHANGED_LINE_TOKEN = " ";
 
-    private final static String CHANGE_SEPARATOR_TOKEN = "@@";
+    private static final String CHANGE_SEPARATOR_TOKEN = "@@";
 
-    private final static String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
+    private static final String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
 
     private ScmLogger logger;
 
@@ -97,6 +98,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
@@ -151,9 +153,9 @@
         {
             // skip, though could parse to verify command
         }
-        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
-            line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN ) ||
-            line.equals( NO_NEWLINE_TOKEN ) )
+        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN )
+            || line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN )
+            || line.equals( NO_NEWLINE_TOKEN ) )
         {
             // add to buffer
             currentDifference.append( line ).append( "\n" );
diff --git a/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 b/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
index c37cca5..8d80cfb 100644
--- a/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
+++ b/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
@@ -37,6 +37,7 @@
 public abstract class AbstractCvsExportCommand
     extends AbstractExportCommand
 {
+    /** {@inheritDoc} */
     protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version,
                                                     String outputDirectory )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.java
index 2eb374f..1a82889 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.java
@@ -19,6 +19,9 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.Iterator;
+
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmVersion;
@@ -33,11 +36,13 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
+ * @version $Id$
  */
 public abstract class AbstractCvsListCommand
     extends AbstractListCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
                                                 ScmVersion version )
         throws ScmException
@@ -53,12 +58,24 @@
         }
 
         cl.createArgument().setValue( "-d" );
+        cl.createArgument().setValue( "-e" ); // szakusov: to fix "Unknown file status" problem
 
         if ( recursive )
         {
             cl.createArgument().setValue( "-R" );
         }
 
+        for ( Iterator it = fileSet.getFileList().iterator(); it.hasNext(); )
+        {
+            File target = (File) it.next();
+            String path = target.getPath();
+            if ( path.startsWith( "\\" ) )
+            {
+                path = path.substring( 1 );
+            }
+            cl.createArgument().setValue( path );
+        }
+
         getLogger().info( "Executing: " + cl );
         getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
 
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java
new file mode 100644
index 0000000..4291b04
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java
@@ -0,0 +1,93 @@
+package org.apache.maven.scm.provider.cvslib.command.list;
+
+/*
+ * 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 java.util.LinkedList;
+import java.util.List;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.ScmLogger;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.cli.StreamConsumer;
+
+/**
+ * Parses CVS/Entries format, for example, like
+ *
+ * <pre>
+ * /checkoutlist/1.9/Wed Jan 26 19:08:06 2005/-kkv/
+ * /commitinfo/1.10/Tue Jan 11 01:25:34 2005/-kkv/
+ * /config/1.15/Sun Jan 23 02:15:57 2005/-kkv/
+ * D/directory1////
+ * D/directory2////
+ * </pre>
+ *
+ * @author <a href="mailto:szakusov@emdev.ru">Sergey Zakusov</a>: implemented to fix "Unknown file status" problem
+ * @version $Id$
+ */
+public class CvsListConsumer
+    implements StreamConsumer
+{
+    private ScmLogger m_logger;
+
+    private List m_entries;
+
+    /**
+     * @param logger is a logger
+     */
+    public CvsListConsumer( ScmLogger logger )
+    {
+        m_logger = logger;
+        m_entries = new LinkedList();
+    }
+
+    /** {@inheritDoc} */
+    public void consumeLine( String i_line )
+    {
+        if ( m_logger.isDebugEnabled() )
+        {
+            m_logger.debug( i_line );
+        }
+
+        String[] params = i_line.split( "/" );
+        if ( params.length < 2 )
+        {
+            if ( StringUtils.isNotEmpty( i_line ) )
+            {
+                if ( m_logger.isWarnEnabled() )
+                {
+                    m_logger.warn( "Unable to parse it as CVS/Entries format: " + i_line + "." );
+                }
+            }
+        }
+        else
+        {
+            m_entries.add( new ScmFile( params[1], ScmFileStatus.UNKNOWN ) );
+        }
+    }
+
+    /**
+     * @return Parse result
+     */
+    public List getEntries()
+    {
+        return m_entries;
+    }
+}
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsLoginCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsLoginCommand.java
index e68b975..41fdbb5 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsLoginCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsLoginCommand.java
@@ -37,9 +37,7 @@
 public class CvsLoginCommand
     extends AbstractLoginCommand
 {
-    /**
-     * @see org.apache.maven.scm.command.login.AbstractLoginCommand#executeLoginCommand(org.apache.maven.scm.provider.ScmProviderRepository,org.apache.maven.scm.ScmFileSet,org.apache.maven.scm.CommandParameters)
-     */
+    /** {@inheritDoc} */
     public LoginScmResult executeLoginCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsPass.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsPass.java
index 92e0fd4..cdaeffc 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsPass.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/login/CvsPass.java
@@ -133,8 +133,8 @@
 
             if ( password == null )
             {
-                throw new ScmException( "password is required. You must run a 'cvs -d " + cvsRoot +
-                    " login' first or provide it in the connection url." );
+                throw new ScmException( "password is required. You must run a 'cvs -d " + cvsRoot
+                    + " login' first or provide it in the connection url." );
             }
 
             //logger.debug( "password: " + password );
@@ -167,7 +167,7 @@
         }
     }
 
-    private final String mangle( String password )
+    private String mangle( String password )
     {
         StringBuffer buf = new StringBuffer();
         for ( int i = 0; i < password.length(); i++ )
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/remove/AbstractCvsRemoveCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/remove/AbstractCvsRemoveCommand.java
index 04b3149..f855718 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/remove/AbstractCvsRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/remove/AbstractCvsRemoveCommand.java
@@ -45,6 +45,7 @@
     extends AbstractRemoveCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/AbstractCvsStatusCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/AbstractCvsStatusCommand.java
index 31355d9..8727aa0 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/AbstractCvsStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/AbstractCvsStatusCommand.java
@@ -37,6 +37,7 @@
     extends AbstractStatusCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusConsumer.java
index 9efe965..c088e2a 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusConsumer.java
@@ -57,6 +57,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
index 1e25255..b9e33b4 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/AbstractCvsTagCommand.java
@@ -39,6 +39,7 @@
     extends AbstractTagCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagConsumer.java
index 0724c0b..d17c7fb 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagConsumer.java
@@ -44,6 +44,7 @@
         this.logger = logger;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/AbstractCvsUpdateCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/AbstractCvsUpdateCommand.java
index 77d99d5..92f59e6 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/AbstractCvsUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/AbstractCvsUpdateCommand.java
@@ -40,6 +40,7 @@
     extends AbstractUpdateCommand
     implements CvsCommand
 {
+    /** {@inheritDoc} */
     public UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateConsumer.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateConsumer.java
index 0414be5..5c439fc 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateConsumer.java
@@ -44,6 +44,7 @@
         this.logger = logger;
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java
index 4ae8b63..9672c83 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepository.java
@@ -98,21 +98,21 @@
      */
     public String getCvsRootForCvsPass()
     {
-        if ( getUser() != null )
+        String result;
+        String transport = getTransport();
+        if ( AbstractCvsScmProvider.TRANSPORT_LOCAL.equals( transport ) )
         {
-            return getCvsRootWithCorrectUser( getUser() );
+            result = ":" + transport + ":" + cvsroot;
+        }
+        else if ( getUser() != null )
+        {
+            result = getCvsRootWithCorrectUser( getUser() );
         }
         else
         {
-            if ( AbstractCvsScmProvider.TRANSPORT_LOCAL.equals( getTransport() ) )
-            {
-                return cvsroot;
-            }
-            else
-            {
-                throw new IllegalArgumentException( "Username isn't defined." );
-            }
+            throw new IllegalArgumentException( "Username isn't defined." );
         }
+        return result;
     }
 
     /**
@@ -169,6 +169,7 @@
         return cvsroot;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         StringBuffer sb = new StringBuffer();
@@ -177,9 +178,6 @@
         {
             if ( AbstractCvsScmProvider.TRANSPORT_LOCAL.equals( getTransport() ) )
             {
-                sb.append( ":" );
-                sb.append( getTransport() );
-                sb.append( ":" );
                 sb.append( getCvsRoot() );
             }
             else
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/util/CvsUtil.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/util/CvsUtil.java
index 701d7d9..af0a98f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/util/CvsUtil.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/util/CvsUtil.java
@@ -52,15 +52,17 @@
             }
             catch ( FileNotFoundException e )
             {
+                // skip error 
             }
             catch ( IOException e )
             {
+                // skip error
             }
             catch ( XmlPullParserException e )
             {
                 String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
 
-                System.out.println( message );
+                System.err.println( message );
             }
         }
 
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/site/site.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/site/site.xml
new file mode 100644
index 0000000..3df5483
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM CVS Commons">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java
index eae03f0..ef5e890 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java
@@ -255,7 +255,22 @@
 
         assertEquals( "/home/cvspublic", repo.getPath() );
 
-        assertEquals( "/home/cvspublic", repo.getCvsRoot() );
+        assertEquals( ":local:/home/cvspublic", repo.getCvsRoot() );
+    }
+
+    /**
+     * Test SCM-387
+     *
+     * @throws Exception
+     */
+    public void testGetCvsRootForCvsPass()
+        throws Exception
+    {
+        String url = "scm:cvs|local|c:/cvsroot|test";
+
+        ScmRepository repository = scmManager.makeScmRepository( url );
+        CvsScmProviderRepository repo = (CvsScmProviderRepository) repository.getProviderRepository();
+        assertEquals( ":local:c:/cvsroot", repo.getCvsRootForCvsPass() );
     }
 
     // ----------------------------------------------------------------------
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 a0df7b2..9172312 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,26 +20,30 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-cvs</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-cvsexe</artifactId>
+
   <name>Maven SCM CVS Provider - CVS Executable Impl.</name>
-  <version>1.1</version>
+  <description>Executable implementation for SCM CVS Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvstest</artifactId>
-      <version>1.1</version>
-      <scope>test</scope>
+      <artifactId>maven-scm-provider-cvs-commons</artifactId>
     </dependency>
+
+    <!-- Test -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvs-commons</artifactId>
-      <version>1.1</version>
+      <artifactId>maven-scm-provider-cvstest</artifactId>
+      <scope>test</scope>
     </dependency>
   </dependencies>
 
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java
index 5b43793..3e02c97 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/CvsExeScmProvider.java
@@ -43,66 +43,79 @@
 public class CvsExeScmProvider
     extends AbstractCvsScmProvider
 {
+    /** {@inheritDoc} */
     protected Command getAddCommand()
     {
         return new CvsExeAddCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getBranchCommand()
     {
         return new CvsExeBranchCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getChangeLogCommand()
     {
         return new CvsExeChangeLogCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getCheckInCommand()
     {
         return new CvsExeCheckInCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getCheckOutCommand()
     {
         return new CvsExeCheckOutCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getDiffCommand()
     {
         return new CvsExeDiffCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getExportCommand()
     {
         return new CvsExeExportCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getListCommand()
     {
         return new CvsExeListCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getLoginCommand()
     {
         return new CvsLoginCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getRemoveCommand()
     {
         return new CvsExeRemoveCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getStatusCommand()
     {
         return new CvsExeStatusCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getTagCommand()
     {
         return new CvsExeTagCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getUpdateCommand()
     {
         return new CvsExeUpdateCommand();
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/add/CvsExeAddCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/add/CvsExeAddCommand.java
index a45ddfc..acc5c5c 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/add/CvsExeAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/add/CvsExeAddCommand.java
@@ -35,6 +35,7 @@
 public class CvsExeAddCommand
     extends AbstractCvsAddCommand
 {
+    /** {@inheritDoc} */
     protected AddScmResult executeCvsCommand( Commandline cl, List addedFiles )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/branch/CvsExeBranchCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/branch/CvsExeBranchCommand.java
index 4d098ce..461a219 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/branch/CvsExeBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/branch/CvsExeBranchCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeBranchCommand
     extends AbstractCvsBranchCommand
 {
+    /** {@inheritDoc} */
     protected BranchScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/changelog/CvsExeChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/changelog/CvsExeChangeLogCommand.java
index 5e0e2d6..6efd3e3 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/changelog/CvsExeChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/changelog/CvsExeChangeLogCommand.java
@@ -38,6 +38,7 @@
 public class CvsExeChangeLogCommand
     extends AbstractCvsChangeLogCommand
 {
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeCvsCommand( Commandline cl, Date startDate, Date endDate,
                                                     ScmVersion startVersion, ScmVersion endVersion, String datePattern )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkin/CvsExeCheckInCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkin/CvsExeCheckInCommand.java
index a7f0713..39835db 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkin/CvsExeCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkin/CvsExeCheckInCommand.java
@@ -39,6 +39,7 @@
 public class CvsExeCheckInCommand
     extends AbstractCvsCheckInCommand
 {
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCvsCommand( Commandline cl, CvsScmProviderRepository repository,
                                                   File messageFile )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkout/CvsExeCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkout/CvsExeCheckOutCommand.java
index e3ba09f..6f02cb5 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkout/CvsExeCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/checkout/CvsExeCheckOutCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeCheckOutCommand
     extends AbstractCvsCheckOutCommand
 {
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/diff/CvsExeDiffCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/diff/CvsExeDiffCommand.java
index 22b99db..94d4991 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/diff/CvsExeDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/diff/CvsExeDiffCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeDiffCommand
     extends AbstractCvsDiffCommand
 {
+    /** {@inheritDoc} */
     protected DiffScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/export/CvsExeExportCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/export/CvsExeExportCommand.java
index 33c9ac6..7e7f7b2 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/export/CvsExeExportCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/export/CvsExeExportCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeExportCommand
     extends AbstractCvsExportCommand
 {
+    /** {@inheritDoc} */
     protected ExportScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
index fb95850..1988ee7 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeListCommand
     extends AbstractCvsListCommand
 {
+    /** {@inheritDoc} */
     protected ListScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/remove/CvsExeRemoveCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/remove/CvsExeRemoveCommand.java
index a6fab7e..64995e2 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/remove/CvsExeRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/remove/CvsExeRemoveCommand.java
@@ -35,6 +35,7 @@
 public class CvsExeRemoveCommand
     extends AbstractCvsRemoveCommand
 {
+    /** {@inheritDoc} */
     protected RemoveScmResult executeCvsCommand( Commandline cl, List removedFiles )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/status/CvsExeStatusCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/status/CvsExeStatusCommand.java
index ddf90a1..80744a9 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/status/CvsExeStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/status/CvsExeStatusCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeStatusCommand
     extends AbstractCvsStatusCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/tag/CvsExeTagCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/tag/CvsExeTagCommand.java
index d71bee4..6b0d77b 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/tag/CvsExeTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/tag/CvsExeTagCommand.java
@@ -34,6 +34,7 @@
 public class CvsExeTagCommand
     extends AbstractCvsTagCommand
 {
+    /** {@inheritDoc} */
     protected TagScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/update/CvsExeUpdateCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/update/CvsExeUpdateCommand.java
index b13f6c0..6fa88a8 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/update/CvsExeUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/update/CvsExeUpdateCommand.java
@@ -36,6 +36,7 @@
 public class CvsExeUpdateCommand
     extends AbstractCvsUpdateCommand
 {
+    /** {@inheritDoc} */
     protected UpdateScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/site/site.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/site/site.xml
new file mode 100644
index 0000000..cd08056
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM CVS Executable">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
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 d0d185a..cbefdb6 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,20 +20,23 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-cvs</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-cvsjava</artifactId>
+
   <name>Maven SCM CVS Provider - CVS Java Impl.</name>
-  <version>1.1</version>
+  <description>Java implementation for SCM CVS Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvs-commons</artifactId>
-      <version>1.1</version>
     </dependency>
     <dependency>
       <groupId>org.netbeans.lib</groupId>
@@ -43,6 +48,8 @@
       <artifactId>ganymed-ssh2</artifactId>
       <version>build210</version>
     </dependency>
+
+    <!-- Test -->
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-cvstest</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java
index 0ad54ec..609ec53 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/CvsJavaScmProvider.java
@@ -43,66 +43,79 @@
 public class CvsJavaScmProvider
     extends AbstractCvsScmProvider
 {
+    /** {@inheritDoc} */
     protected Command getAddCommand()
     {
         return new CvsJavaAddCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getBranchCommand()
     {
         return new CvsJavaBranchCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getChangeLogCommand()
     {
         return new CvsJavaChangeLogCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getCheckInCommand()
     {
         return new CvsJavaCheckInCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getCheckOutCommand()
     {
         return new CvsJavaCheckOutCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getDiffCommand()
     {
         return new CvsJavaDiffCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getExportCommand()
     {
         return new CvsJavaExportCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getListCommand()
     {
         return new CvsJavaListCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getLoginCommand()
     {
         return new CvsJavaLoginCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getRemoveCommand()
     {
         return new CvsJavaRemoveCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getStatusCommand()
     {
         return new CvsJavaStatusCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getTagCommand()
     {
         return new CvsJavaTagCommand();
     }
 
+    /** {@inheritDoc} */
     protected Command getUpdateCommand()
     {
         return new CvsJavaUpdateCommand();
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/add/CvsJavaAddCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/add/CvsJavaAddCommand.java
index c5ce710..87d1ee9 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/add/CvsJavaAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/add/CvsJavaAddCommand.java
@@ -35,6 +35,7 @@
 public class CvsJavaAddCommand
     extends AbstractCvsAddCommand
 {
+    /** {@inheritDoc} */
     protected AddScmResult executeCvsCommand( Commandline cl, List addedFiles )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/branch/CvsJavaBranchCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/branch/CvsJavaBranchCommand.java
index 72a6112..b60ec79 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/branch/CvsJavaBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/branch/CvsJavaBranchCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaBranchCommand
     extends AbstractCvsBranchCommand
 {
+    /** {@inheritDoc} */
     protected BranchScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/changelog/CvsJavaChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/changelog/CvsJavaChangeLogCommand.java
index 3d3b1a4..1db732b 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/changelog/CvsJavaChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/changelog/CvsJavaChangeLogCommand.java
@@ -41,6 +41,7 @@
 public class CvsJavaChangeLogCommand
     extends AbstractCvsChangeLogCommand
 {
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeCvsCommand( Commandline cl, Date startDate, Date endDate,
                                                     ScmVersion startVersion, ScmVersion endVersion, String datePattern )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkin/CvsJavaCheckInCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkin/CvsJavaCheckInCommand.java
index dd4e240..ac362a7 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkin/CvsJavaCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkin/CvsJavaCheckInCommand.java
@@ -42,6 +42,7 @@
 public class CvsJavaCheckInCommand
     extends AbstractCvsCheckInCommand
 {
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCvsCommand( Commandline cl, CvsScmProviderRepository repository,
                                                   File messageFile )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkout/CvsJavaCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkout/CvsJavaCheckOutCommand.java
index fd435ea..2812831 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkout/CvsJavaCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/checkout/CvsJavaCheckOutCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaCheckOutCommand
     extends AbstractCvsCheckOutCommand
 {
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/diff/CvsJavaDiffCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/diff/CvsJavaDiffCommand.java
index 426a5a5..147efd2 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/diff/CvsJavaDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/diff/CvsJavaDiffCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaDiffCommand
     extends AbstractCvsDiffCommand
 {
+    /** {@inheritDoc} */
     protected DiffScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/export/CvsJavaExportCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/export/CvsJavaExportCommand.java
index 38e9463..cde3378 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/export/CvsJavaExportCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/export/CvsJavaExportCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaExportCommand
     extends AbstractCvsExportCommand
 {
+    /** {@inheritDoc} */
     protected ExportScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/list/CvsJavaListCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/list/CvsJavaListCommand.java
index 29def56..342c6e2 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/list/CvsJavaListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/list/CvsJavaListCommand.java
@@ -19,18 +19,18 @@
  * under the License.
  */
 
-import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.command.list.ListScmResult;
-import org.apache.maven.scm.provider.cvslib.command.list.AbstractCvsListCommand;
-import org.apache.maven.scm.provider.cvslib.command.status.CvsStatusConsumer;
-import org.apache.maven.scm.provider.cvslib.cvsjava.util.CvsConnection;
-import org.apache.maven.scm.provider.cvslib.cvsjava.util.CvsLogListener;
-import org.codehaus.plexus.util.cli.Commandline;
-
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.InputStreamReader;
 
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.command.list.ListScmResult;
+import org.apache.maven.scm.provider.cvslib.command.list.AbstractCvsListCommand;
+import org.apache.maven.scm.provider.cvslib.command.list.CvsListConsumer;
+import org.apache.maven.scm.provider.cvslib.cvsjava.util.CvsConnection;
+import org.apache.maven.scm.provider.cvslib.cvsjava.util.CvsLogListener;
+import org.codehaus.plexus.util.cli.Commandline;
+
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
@@ -38,12 +38,13 @@
 public class CvsJavaListCommand
     extends AbstractCvsListCommand
 {
+    /** {@inheritDoc} */
     protected ListScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
         CvsLogListener logListener = new CvsLogListener();
 
-        CvsStatusConsumer consumer = new CvsStatusConsumer( getLogger(), cl.getWorkingDirectory() );
+        CvsListConsumer consumer = new CvsListConsumer( getLogger() );
 
         try
         {
@@ -73,6 +74,6 @@
                                       false );
         }
 
-        return new ListScmResult( cl.toString(), consumer.getChangedFiles() );
+        return new ListScmResult( cl.toString(), consumer.getEntries() );
     }
 }
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/login/CvsJavaLoginCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/login/CvsJavaLoginCommand.java
index 14af9a3..ffb88ff 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/login/CvsJavaLoginCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/login/CvsJavaLoginCommand.java
@@ -29,6 +29,7 @@
 public class CvsJavaLoginCommand
     extends CvsLoginCommand
 {
+    /** {@inheritDoc} */
     public boolean isCvsNT()
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/remove/CvsJavaRemoveCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/remove/CvsJavaRemoveCommand.java
index 2e26f33..e2bb11f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/remove/CvsJavaRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/remove/CvsJavaRemoveCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaRemoveCommand
     extends AbstractCvsRemoveCommand
 {
+    /** {@inheritDoc} */
     protected RemoveScmResult executeCvsCommand( Commandline cl, List removedFiles )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/status/CvsJavaStatusCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/status/CvsJavaStatusCommand.java
index a810524..98fe011 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/status/CvsJavaStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/status/CvsJavaStatusCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaStatusCommand
     extends AbstractCvsStatusCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/tag/CvsJavaTagCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/tag/CvsJavaTagCommand.java
index 89018b1..39d6298 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/tag/CvsJavaTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/tag/CvsJavaTagCommand.java
@@ -38,6 +38,7 @@
 public class CvsJavaTagCommand
     extends AbstractCvsTagCommand
 {
+    /** {@inheritDoc} */
     protected TagScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/update/CvsJavaUpdateCommand.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/update/CvsJavaUpdateCommand.java
index 2c8e7fc..bb6b248 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/update/CvsJavaUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/command/update/CvsJavaUpdateCommand.java
@@ -40,6 +40,7 @@
 public class CvsJavaUpdateCommand
     extends AbstractCvsUpdateCommand
 {
+    /** {@inheritDoc} */
     protected UpdateScmResult executeCvsCommand( Commandline cl )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java
index 33af2ef..2c4fc19 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java
@@ -48,6 +48,7 @@
  * A Cvs connection that simulates a command line interface.
  *
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
+ * @version $Id$
  */
 public class CvsConnection
 {
@@ -113,25 +114,26 @@
      * Creates the connection and the client and connects.
      */
     private void connect( CVSRoot root, String password )
-        throws IllegalArgumentException, AuthenticationException, CommandAbortedException
+        throws AuthenticationException, CommandAbortedException
     {
         if ( CVSRoot.METHOD_EXT.equals( root.getMethod() ) )
         {
-            String cvs_rsh = System.getProperty( "maven.scm.cvs.java.cvs_rsh" );
-            if ( cvs_rsh == null )
+            String cvsRsh = System.getProperty( "maven.scm.cvs.java.cvs_rsh" );
+            if ( cvsRsh == null )
             {
                 try
                 {
-                    cvs_rsh = CommandLineUtils.getSystemEnvVars().getProperty( "CVS_RSH" );
+                    cvsRsh = CommandLineUtils.getSystemEnvVars().getProperty( "CVS_RSH" );
                 }
                 catch ( IOException e )
                 {
+                    // we assume searching env var can't fail
                 }
             }
 
-            if ( cvs_rsh != null )
+            if ( cvsRsh != null )
             {
-                if ( cvs_rsh.indexOf( ' ' ) < 0 )
+                if ( cvsRsh.indexOf( ' ' ) < 0 )
                 {
                     //cvs_rsh should be 'rsh' or 'ssh'
                     //Complete the command to use
@@ -141,10 +143,10 @@
                         username = System.getProperty( "user.name" );
                     }
 
-                    cvs_rsh += " " + username + "@" + root.getHostName() + " cvs server";
+                    cvsRsh += " " + username + "@" + root.getHostName() + " cvs server";
                 }
 
-                AbstractConnection conn = new org.netbeans.lib.cvsclient.connection.ExtConnection( cvs_rsh );
+                AbstractConnection conn = new org.netbeans.lib.cvsclient.connection.ExtConnection( cvsRsh );
                 conn.setRepository( root.getRepository() );
                 connection = conn;
             }
@@ -423,9 +425,9 @@
         }
         catch ( IllegalArgumentException e )
         {
-            logger.error( "Incorrect format for CVSRoot: " + cvsRoot + "\nThe correct format is: " +
-                "[:method:][[user][:password]@][hostname:[port]]/path/to/repository" +
-                "\nwhere \"method\" is pserver." );
+            logger.error( "Incorrect format for CVSRoot: " + cvsRoot + "\nThe correct format is: "
+                + "[:method:][[user][:password]@][hostname:[port]]/path/to/repository"
+                + "\nwhere \"method\" is pserver." );
             return false;
         }
 
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsLogListener.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsLogListener.java
index 371418e..2ed2b74 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsLogListener.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsLogListener.java
@@ -25,32 +25,35 @@
 /**
  * A basic implementation of a CVS listener. It merely saves up
  * into StringBuffers the stdout and stderr printstreams.
- * 
+ *
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
+ * @version $Id$
  */
-public class CvsLogListener extends CVSAdapter
+public class CvsLogListener
+    extends CVSAdapter
 {
     private final StringBuffer taggedLine = new StringBuffer();
+
     private StringBuffer stdout = new StringBuffer();
+
     private StringBuffer stderr = new StringBuffer();
 
     /**
-	 * Called when the server wants to send a message to be displayed to the
-	 * user. The message is only for information purposes and clients can
-	 * choose to ignore these messages if they wish.
-	 * 
-	 * @param e the event
-	 */
-    public void messageSent(MessageEvent e)
+     * Called when the server wants to send a message to be displayed to the
+     * user. The message is only for information purposes and clients can
+     * choose to ignore these messages if they wish.
+     *
+     * {@inheritDoc}
+     */
+    public void messageSent( MessageEvent e )
     {
         String line = e.getMessage();
         StringBuffer stream = e.isError() ? stderr : stdout;
 
-        if (e.isTagged())
+        if ( e.isTagged() )
         {
-            String message =
-                MessageEvent.parseTaggedMessage(taggedLine, e.getMessage());
-            if (message != null)
+            String message = MessageEvent.parseTaggedMessage( taggedLine, e.getMessage() );
+            if ( message != null )
             {
                 //stream.println(message);
                 stream.append( message ).append( "\n" );
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/ExtConnection.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/ExtConnection.java
index 394c963..3f12fa6 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/ExtConnection.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/ExtConnection.java
@@ -86,6 +86,7 @@
         }
     }
 
+    /** {@inheritDoc} */
     public void open()
         throws AuthenticationException, CommandAbortedException
     {
@@ -163,6 +164,7 @@
         setOutputStream( new LoggedDataOutputStream( session.getStdin() ) );
     }
 
+    /** {@inheritDoc} */
     public void verify()
         throws AuthenticationException
     {
@@ -225,28 +227,33 @@
         setOutputStream( null );
     }
 
+    /** {@inheritDoc} */
     public void close()
         throws IOException
     {
         closeConnection();
     }
 
+    /** {@inheritDoc} */
     public boolean isOpen()
     {
         return connection != null;
     }
 
+    /** {@inheritDoc} */
     public int getPort()
     {
         return port;
     }
 
+    /** {@inheritDoc} */
     public void modifyInputStream( ConnectionModifier modifier )
         throws IOException
     {
         modifier.modifyInputStream( getInputStream() );
     }
 
+    /** {@inheritDoc} */
     public void modifyOutputStream( ConnectionModifier modifier )
         throws IOException
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/site/site.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/site/site.xml
new file mode 100644
index 0000000..4bf8858
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM CVS Java">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
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 e44aab4..06f766d 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,20 +20,23 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-cvs</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-cvs</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-cvstest</artifactId>
+
   <name>Maven SCM CVS Provider TCK tests</name>
-  <version>1.1</version>
+  <description>Tests library for the SCM CVS Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.1</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmTest.java
index 762f4b9..55cc0e8 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmTest.java
@@ -32,6 +32,7 @@
 public abstract class AbstractCvsScmTest
     extends ScmTestCase
 {
+    /** {@inheritDoc} */
     public void setUp()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java
index eea3439..3b8446e 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java
@@ -33,6 +33,9 @@
  */
 public final class CvsScmTestUtils
 {
+    /** 'cvs' command line */
+    public static final String CVS_COMMAND_LINE = "cvs";
+
     private CvsScmTestUtils()
     {
     }
@@ -45,7 +48,7 @@
     public static void executeCVS( File workingDirectory, String arguments )
         throws Exception
     {
-        ScmTestCase.execute( workingDirectory, "cvs", arguments );
+        ScmTestCase.execute( workingDirectory, CVS_COMMAND_LINE, arguments );
     }
 
     public static void initRepo( File repository, File workingDirectory, File assertionDirectory )
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/CvsBranchCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/CvsBranchCommandTckTest.java
index fad8bc7..16c2058 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/CvsBranchCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/branch/CvsBranchCommandTckTest.java
@@ -31,16 +31,19 @@
 public class CvsBranchCommandTckTest
     extends BranchCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java
index efaf530..dba172f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java
@@ -35,6 +35,7 @@
 public class CvsChangeLogCommandTest
     extends AbstractCvsScmTest
 {
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/changelog";
@@ -73,6 +74,13 @@
     private void testChangeLog( Date startDate, Date endDate, int changeLogSize, String branch )
         throws Exception
     {
+        if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored "
+                + getName() + "." );
+            return;
+        }
+
         ScmManager scmManager = getScmManager();
 
         CvsScmTestUtils.executeCVS( getWorkingDirectory(),
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInCommandTckTest.java
index aededf5..d1ebb31 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/CvsCheckInCommandTckTest.java
@@ -29,16 +29,19 @@
 public class CvsCheckInCommandTckTest
     extends CheckInCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutCommandTckTest.java
index 0a792c4..f02763b 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckOutCommandTckTest.java
@@ -29,16 +29,19 @@
 public class CvsCheckOutCommandTckTest
     extends CheckOutCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java
index 9e8f422..0cd3cc6 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java
@@ -24,6 +24,7 @@
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest;
+import org.apache.maven.scm.provider.cvslib.CvsScmTestUtils;
 
 import java.io.File;
 import java.util.List;
@@ -36,6 +37,7 @@
 public class CvsCheckoutCommandTest
     extends AbstractCvsScmTest
 {
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/checkout";
@@ -47,6 +49,13 @@
     public void testCheckOutWithoutTag()
         throws Exception
     {
+        if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored "
+                + getName() + "." );
+            return;
+        }
+
         ScmManager scmManager = getScmManager();
 
         CheckOutScmResult result = scmManager.checkOut( getScmRepository(), getScmFileSet() );
@@ -75,6 +84,13 @@
     public void testCheckOutWithTag()
         throws Exception
     {
+        if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored "
+                + getName() + "." );
+            return;
+        }
+
         ScmManager scmManager = getScmManager();
 
         CheckOutScmResult result = scmManager.getProviderByRepository( getScmRepository() ).checkOut(
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffCommandTckTest.java
index 28d8b3e..dcdd6a4 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/CvsDiffCommandTckTest.java
@@ -29,16 +29,19 @@
 public class CvsDiffCommandTckTest
     extends DiffCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusCommandTckTest.java
index b126329..6adee5c 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/status/CvsStatusCommandTckTest.java
@@ -29,16 +29,19 @@
 public class CvsStatusCommandTckTest
     extends StatusCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagCommandTckTest.java
index ac99954..22df88f 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/tag/CvsTagCommandTckTest.java
@@ -31,16 +31,19 @@
 public class CvsTagCommandTckTest
     extends TagCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTckTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTckTest.java
index dea63a6..de047b8 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTckTest.java
@@ -29,16 +29,19 @@
 public class CvsUpdateCommandTckTest
     extends UpdateCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
     {
         return CvsScmTestUtils.getScmUrl( getRepositoryRoot(), getModule() );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/module";
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java
index 69ea487..4239321 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java
@@ -46,6 +46,7 @@
 
     private File assertionDirectory;
 
+    /** {@inheritDoc} */
     public void setUp()
         throws Exception
     {
@@ -60,6 +61,7 @@
         CvsScmTestUtils.initRepo( repository, workingDirectory, assertionDirectory );
     }
 
+    /** {@inheritDoc} */
     protected String getModule()
     {
         return "test-repo/update";
@@ -71,6 +73,13 @@
     public void testCvsUpdate()
         throws Exception
     {
+        if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) )
+        {
+            System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored "
+                + getName() + "." );
+            return;
+        }
+
         ScmManager scmManager = getScmManager();
 
         String scmUrl = CvsScmTestUtils.getScmUrl( repository, getModule() );
diff --git a/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/site/site.xml b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/site/site.xml
new file mode 100644
index 0000000..d700a5b
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM CVS Test">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/pom.xml b/maven-scm-providers/maven-scm-providers-cvs/pom.xml
index 286150c..b98b00b 100644
--- a/maven-scm-providers/maven-scm-providers-cvs/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-cvs/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,16 +20,20 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</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.1</version>
+  <description>SCM Provider implementation for CVS (http://www.nongnu.org/cvs/).</description>
+
   <modules>
     <module>maven-scm-provider-cvs-commons</module>
     <module>maven-scm-provider-cvsexe</module>
diff --git a/maven-scm-providers/maven-scm-providers-cvs/src/site/site.xml b/maven-scm-providers/maven-scm-providers-cvs/src/site/site.xml
new file mode 100644
index 0000000..8eff1da
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-cvs/src/site/site.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM CVS Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="modules" />
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
index 4923372..09869f4 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,21 +20,26 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-git</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-git</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-git-commons</artifactId>
-  <name>Maven SCM git Provider - Common library</name>
-  <version>1.1</version>
+
+  <name>Maven SCM Git Provider - Common library</name>
+  <description>Common library for SCM Git Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>regexp</groupId>
       <artifactId>regexp</artifactId>
     </dependency>
   </dependencies>
+
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
index 5998e5f..2704ad3 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
@@ -49,7 +49,7 @@
 
 /**
  * SCM Provider for git
- * 
+ *
  *
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
@@ -62,22 +62,27 @@
     //
     // ----------------------------------------------------------------------
 
+    /**
+     * Internal class
+     */
     private static class ScmUrlParserResult
     {
-        List messages = new ArrayList();
+        private List messages = new ArrayList();
 
-        ScmProviderRepository repository;
+        private ScmProviderRepository repository;
     }
 
     // ----------------------------------------------------------------------
     // ScmProvider Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return ".git";
     }
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
@@ -91,10 +96,7 @@
         return result.repository;
     }
 
-    /**
-     * This creates a local ScmProviderRepository for the given path
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#makeProviderScmRepository(java.io.File)
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
@@ -127,6 +129,7 @@
     protected abstract String getRepositoryURL( File path )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
         List messages = new ArrayList();
@@ -141,6 +144,7 @@
         return messages;
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "git";
@@ -223,9 +227,7 @@
 
     protected abstract GitCommand getAddCommand();
 
-    /**
-     * @see AbstractScmProvider#add(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -234,9 +236,7 @@
 
     protected abstract GitCommand getBranchCommand();
 
-    /**
-     * @see AbstractScmProvider#branch(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     protected BranchScmResult branch( ScmProviderRepository repository, ScmFileSet fileSet,
                                       CommandParameters parameters )
         throws ScmException
@@ -246,9 +246,7 @@
 
     protected abstract GitCommand getChangeLogCommand();
 
-    /**
-     * @see AbstractScmProvider#changelog(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -258,9 +256,7 @@
 
     protected abstract GitCommand getCheckInCommand();
 
-    /**
-     * @see AbstractScmProvider#checkin(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -270,9 +266,7 @@
 
     protected abstract GitCommand getCheckOutCommand();
 
-    /**
-     * @see AbstractScmProvider#checkout(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -282,9 +276,7 @@
 
     protected abstract GitCommand getDiffCommand();
 
-    /**
-     * @see AbstractScmProvider#diff(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -293,6 +285,7 @@
 
     protected abstract GitCommand getExportCommand();
 
+    /** {@inheritDoc} */
     protected ExportScmResult export( ScmProviderRepository repository, ScmFileSet fileSet,
                                       CommandParameters parameters )
         throws ScmException
@@ -302,9 +295,7 @@
 
     protected abstract GitCommand getRemoveCommand();
 
-    /**
-     * @see AbstractScmProvider#remove(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -313,9 +304,7 @@
 
     protected abstract GitCommand getStatusCommand();
 
-    /**
-     * @see AbstractScmProvider#status(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -324,9 +313,7 @@
 
     protected abstract GitCommand getTagCommand();
 
-    /**
-     * @see AbstractScmProvider#tag(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -335,9 +322,7 @@
 
     protected abstract GitCommand getUpdateCommand();
 
-    /**
-     * @see AbstractScmProvider#update(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -355,9 +340,7 @@
 
     protected abstract GitCommand getListCommand();
 
-    /**
-     * @see AbstractScmProvider#list(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitChangeSet.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitChangeSet.java
index 6eea9c6..b8b6d4a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitChangeSet.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitChangeSet.java
@@ -41,16 +41,30 @@
         super();
     }
 
-    public GitChangeSet( String strDate, String userDatePattern, String comment, String author, List/*<ChangeFile>*/ files )
+    /**
+     * @param strDate
+     * @param userDatePattern
+     * @param comment
+     * @param author
+     * @param files List of {@link ChangeFile}
+     */
+    public GitChangeSet( String strDate, String userDatePattern, String comment, String author, List files )
     {
         super( strDate, userDatePattern, comment, author, files );
     }
 
-    public GitChangeSet( Date date, String comment, String author, List/*<ChangeFile>*/ files )
+    /**
+     * @param date
+     * @param comment
+     * @param author
+     * @param files List of {@link ChangeFile}
+     */
+    public GitChangeSet( Date date, String comment, String author, List files )
     {
         super( date, comment, author, files );
     }
 
+    /** {@inheritDoc} */
     public boolean containsFilename( String filename, ScmProviderRepository repository )
     {
         GitScmProviderRepository repo = (GitScmProviderRepository) repository;
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitCommandUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitCommandUtils.java
index 8d4ff43..d98ad39 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitCommandUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitCommandUtils.java
@@ -54,7 +54,7 @@
 
         cl.setWorkingDirectory( fileSet.getBasedir().getAbsolutePath() );
 
-        if ( settings.getTraceGitCommand() != null)
+        if ( settings.getTraceGitCommand() != null )
         {
             cl.addEnvironment( "GIT_TRACE", settings.getTraceGitCommand() );
         }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
index b5f2b35..7e3dc7b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
@@ -35,47 +35,48 @@
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitDiffConsumer
     implements StreamConsumer
 {
-	// diff --git a/readme.txt b/readme.txt
-	// index fea1611..9e131cf 100644
-	// --- a/readme.txt
-	// +++ b/readme.txt
-	// @@ -1 +1 @@
-	// -/readme.txt
-	// \ No newline at end of file
-	// +new version of /readme.txt
+    // diff --git a/readme.txt b/readme.txt
+    // index fea1611..9e131cf 100644
+    // --- a/readme.txt
+    // +++ b/readme.txt
+    // @@ -1 +1 @@
+    // -/readme.txt
+    // \ No newline at end of file
+    // +new version of /readme.txt
 
 
-	/**
-	 * patern matches the index line of the diff comparison
-	 * paren.1 matches the first file
-	 * paren.2 matches the 2nd file
-	 */
-    private final static String DIFF_FILES_PATTERN = "^diff --git\\sa/(.*)\\sb/(.*)";
+    /**
+     * patern matches the index line of the diff comparison
+     * paren.1 matches the first file
+     * paren.2 matches the 2nd file
+     */
+    private static final String DIFF_FILES_PATTERN = "^diff --git\\sa/(.*)\\sb/(.*)";
 
-    private final static String START_REVISION_TOKEN = "---";
+    private static final String START_REVISION_TOKEN = "---";
 
-    private final static String END_REVISION_TOKEN = "+++";
+    private static final String END_REVISION_TOKEN = "+++";
 
-    private final static String ADDED_LINE_TOKEN = "+";
+    private static final String ADDED_LINE_TOKEN = "+";
 
-    private final static String REMOVED_LINE_TOKEN = "-";
+    private static final String REMOVED_LINE_TOKEN = "-";
 
-    private final static String UNCHANGED_LINE_TOKEN = " ";
+    private static final String UNCHANGED_LINE_TOKEN = " ";
 
-    private final static String CHANGE_SEPARATOR_TOKEN = "@@";
+    private static final String CHANGE_SEPARATOR_TOKEN = "@@";
 
-    private final static String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
+    private static final String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
 
-    private final static String INDEX_LINE_TOKEN = "index ";
+    private static final String INDEX_LINE_TOKEN = "index ";
 
-    private final static String NEW_FILE_MODE_TOKEN = "new file mode ";
-    
-    private final static String DELETED_FILE_MODE_TOKEN = "deleted file mode ";
-       
+    private static final String NEW_FILE_MODE_TOKEN = "new file mode ";
+
+    private static final String DELETED_FILE_MODE_TOKEN = "deleted file mode ";
+
     private ScmLogger logger;
 
     private String currentFile;
@@ -102,14 +103,14 @@
         this.logger = logger;
         try
         {
-        	filesRegexp = new RE( DIFF_FILES_PATTERN );
+            filesRegexp = new RE( DIFF_FILES_PATTERN );
         }
         catch ( RESyntaxException ex )
         {
             throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
-        }        
+                                        "INTERNAL ERROR: Could not create regexp to parse git log file. Something is probably wrong with the oro installation.",
+                                        ex );
+        }
 
     }
 
@@ -117,12 +118,13 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( filesRegexp.match(line) )
+        if ( filesRegexp.match( line ) )
         {
             // start a new file
-            currentFile = filesRegexp.getParen(1);
+            currentFile = filesRegexp.getParen( 1 );
 
             changedFiles.add( new ScmFile( currentFile, ScmFileStatus.MODIFIED ) );
 
@@ -146,8 +148,7 @@
             // skip, though could parse to verify start revision and end revision
             patch.append( line ).append( "\n" );
         }
-        else if ( line.startsWith( NEW_FILE_MODE_TOKEN ) || 
-        		  line.startsWith( DELETED_FILE_MODE_TOKEN ))
+        else if ( line.startsWith( NEW_FILE_MODE_TOKEN ) || line.startsWith( DELETED_FILE_MODE_TOKEN ) )
         {
             // skip, though could parse to verify file mode
             patch.append( line ).append( "\n" );
@@ -162,9 +163,9 @@
             // skip, though could parse to verify filename, end revision
             patch.append( line ).append( "\n" );
         }
-        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
-            line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN ) ||
-            line.equals( NO_NEWLINE_TOKEN ) )
+        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN )
+            || line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN )
+            || line.equals( NO_NEWLINE_TOKEN ) )
         {
             // add to buffer
             currentDifference.append( line ).append( "\n" );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoItem.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoItem.java
index b1658c4..5c0bace 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoItem.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoItem.java
@@ -21,8 +21,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
- *         <p/>
- *         $Id$
+ * @version $Id$
  */
 public class GitInfoItem
 {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoScmResult.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoScmResult.java
index cc8d544..d6249c0 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoScmResult.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/info/GitInfoScmResult.java
@@ -26,8 +26,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
- *         <p/>
- *         $Id$
+ * @version $Id$
  */
 public class GitInfoScmResult
     extends ScmResult
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java
index 9713e71..aa7746f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java
@@ -32,29 +32,29 @@
     /** */
     private String url;
 
-    /** 
+    /**
      * the protocol to use
      */
     private String protocol;
 
     /** use local file as transport*/
-    public final static String PROTOCOL_FILE = "file";
+    public static final String PROTOCOL_FILE = "file";
 
     /** use gits internal protocol */
-    public final static String PROTOCOL_GIT = "git";
+    public static final String PROTOCOL_GIT = "git";
 
     /** use secure shell protocol */
-    public final static String PROTOCOL_SSH = "ssh";
+    public static final String PROTOCOL_SSH = "ssh";
 
     /** use the standard port 80 http protocol */
-    public final static String PROTOCOL_HTTP = "http";
+    public static final String PROTOCOL_HTTP = "http";
 
     /** use the standard port 443 https protocol */
-    public final static String PROTOCOL_HTTPS = "https";
+    public static final String PROTOCOL_HTTPS = "https";
 
     /** use rsync for retrieving the data
      * TODO implement! */
-    public final static String PROTOCOL_RSYNC = "rsync";
+    public static final String PROTOCOL_RSYNC = "rsync";
 
 
     public GitScmProviderRepository( String url )
@@ -123,7 +123,8 @@
 
         String urlPath = url.substring( getProtocol().length() );
 
-        if ( urlPath.startsWith( "://" ) ) {
+        if ( urlPath.startsWith( "://" ) )
+        {
             urlPath = urlPath.substring( 3 );
         }
         int indexAt = urlPath.indexOf( "@" );
@@ -143,29 +144,29 @@
 
             urlPath = urlPath.substring( indexAt + 1 );
 
-            if ( PROTOCOL_SSH.equals( getProtocol() ) ) 
+            if ( PROTOCOL_SSH.equals( getProtocol() ) )
             {
                 StringBuffer urlSb = new StringBuffer( getProtocol() );
-                
+
                 urlSb.append( "://" );
-                
-                if ( getUser() != null ) 
+
+                if ( getUser() != null )
                 {
                      urlSb.append( getUser() );
-                     
+
                      if ( getPassword() != null )
                      {
                          urlSb.append( ':' ).append( getPassword() );
                      }
-                     
+
                      urlSb.append( '@' );
                 }
-                
+
                 urlSb.append( urlPath );
-                
+
                 this.url = urlSb.toString();
             }
-            else 
+            else
             {
                 this.url = getProtocol() + "://" + urlPath;
             }
@@ -197,15 +198,11 @@
             {
                 setHost( hostPort );
             }
-            
+
         }
     }
 
-    /**
-     * A ScmProviderRepository like this but with the parent url (stripping the last directory)
-     *
-     * @return the parent repository or <code>null</null> if this is the top level repository
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository getParent()
     {
         String newUrl = getUrl().substring( getProtocol().length() );
@@ -231,9 +228,7 @@
         return new GitScmProviderRepository( getProtocol() + newUrl, getUser(), getPassword() );
     }
 
-    /**
-     * Get the relative path from the ancestor to this repository
-     */
+    /** {@inheritDoc} */
     public String getRelativePath( ScmProviderRepository ancestor )
     {
         if ( ancestor instanceof GitScmProviderRepository )
@@ -250,6 +245,7 @@
         return null;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return getUrl();
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
index 4f5f463..fcf17aa 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
@@ -62,7 +62,7 @@
             {
                 String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
 
-                System.out.println( message );
+                System.err.println( message );
             }
         }
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml
new file mode 100644
index 0000000..788024f
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Git Commons">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
index 58e18f8..95e8e13 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,31 +20,35 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-git</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-git</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-gitexe</artifactId>
-  <name>Maven SCM git Provider - git Executable Impl.</name>
-  <version>1.1</version>
+
+  <name>Maven SCM Git Provider - Git Executable Impl.</name>
+  <description>Executable implementation for SCM Git Provider.</description>
+
   <dependencies>
     <dependency>
+      <groupId>regexp</groupId>
+      <artifactId>regexp</artifactId>
+    </dependency>
+
+    <!-- Test -->
+    <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-git-commons</artifactId>
-      <version>1.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-gittest</artifactId>
-      <version>1.1</version>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>regexp</groupId>
-      <artifactId>regexp</artifactId>
-    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
index 7749f30..c79c30d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
@@ -47,74 +47,85 @@
 public class GitExeScmProvider
     extends AbstractGitScmProvider
 {
+    /** {@inheritDoc} */
     protected GitCommand getAddCommand()
     {
         return new GitAddCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getBranchCommand()
     {
         return new GitBranchCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getChangeLogCommand()
     {
         return new GitChangeLogCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getCheckInCommand()
     {
         return new GitCheckInCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getCheckOutCommand()
     {
         return new GitCheckOutCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getDiffCommand()
     {
         return new GitDiffCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getExportCommand()
     {
         return null; //X TODO
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getRemoveCommand()
     {
         return new GitRemoveCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getStatusCommand()
     {
         return new GitStatusCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getTagCommand()
     {
         return new GitTagCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getUpdateCommand()
     {
         return new GitUpdateCommand();
     }
 
+    /** {@inheritDoc} */
     protected GitCommand getListCommand()
     {
         return null; //X TODO
     }
 
+    /** {@inheritDoc} */
     public GitCommand getInfoCommand()
     {
         return null; //X TODO
     }
 
-    /**
-     * Implements retrieving the repository url for a certain path using the 'git info' command.
-     */
+    /** {@inheritDoc} */
     protected String getRepositoryURL( File path )
         throws ScmException
     {
@@ -124,8 +135,8 @@
 
         if ( result.getInfoItems().size() != 1 )
         {
-            throw new ScmRepositoryException( "Cannot find URL: " +
-                ( result.getInfoItems().size() == 0 ? "no" : "multiple" ) + " items returned by the info command" );
+            throw new ScmRepositoryException( "Cannot find URL: "
+                + ( result.getInfoItems().size() == 0 ? "no" : "multiple" ) + " items returned by the info command" );
         }
 
         return ( (GitInfoItem) result.getInfoItems().get( 0 ) ).getURL();
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java
index 0de70b9..1bb2a2e 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java
@@ -30,6 +30,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
+ * @version $Id$
  */
 public abstract class AbstractFileCheckingConsumer
     implements StreamConsumer
@@ -50,6 +51,7 @@
         this.workingDirectory = workingDirectory;
     }
 
+    /** {@inheritDoc} */
     public final void consumeLine( String line )
     {
         if ( line.length() <= 3 )
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java
index 7feeecd..f0d9ed6 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java
@@ -35,6 +35,7 @@
  *
  * @author Brett Porter
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitCommandLineUtils
 {
@@ -49,18 +50,18 @@
         {
             File f = (File) i.next();
             String relativeFile = f.getPath();
-            
-            if ( f.getAbsolutePath().startsWith( cl.getWorkingDirectory().getAbsolutePath() ))
+
+            if ( f.getAbsolutePath().startsWith( cl.getWorkingDirectory().getAbsolutePath() ) )
             {
                 // so we can omit the starting characters
                 relativeFile = relativeFile.substring( cl.getWorkingDirectory().getAbsolutePath().length() );
-                
+
                 if ( relativeFile.startsWith( File.separator ) )
                 {
                     relativeFile = relativeFile.substring( File.separator.length() );
                 }
             }
-            
+
             // no setFile() since this screws up the working directory!
             cl.createArgument().setValue( relativeFile );
         }
@@ -69,15 +70,15 @@
 
     public static Commandline getBaseGitCommandLine( File workingDirectory, String command )
     {
-        if ( command == null || command.length() == 0) 
+        if ( command == null || command.length() == 0 )
         {
             return null;
         }
-        
+
         Commandline cl = new Commandline();
 
         cl.setExecutable( "git" );
-        
+
         cl.createArgument().setValue( command );
 
         cl.setWorkingDirectory( workingDirectory.getAbsolutePath() );
@@ -92,7 +93,7 @@
         logger.info( "Executing: " + cl );
         logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
 
-    	int exitCode;
+        int exitCode;
         try
         {
             exitCode = CommandLineUtils.executeCommandLine( cl, consumer, stderr );
@@ -112,7 +113,7 @@
         logger.info( "Executing: " + cl );
         logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
 
-    	int exitCode;
+        int exitCode;
         try
         {
             exitCode = CommandLineUtils.executeCommandLine( cl, stdout, stderr );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
index 0dcaec9..c80c52e 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
@@ -41,15 +41,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitAddCommand extends AbstractAddCommand implements GitCommand
+public class GitAddCommand
+    extends AbstractAddCommand
+    implements GitCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
     {
         GitScmProviderRepository repository = (GitScmProviderRepository) repo;
-        
+
         if ( fileSet.getFileList().isEmpty() )
         {
             throw new ScmException( "You must provide at least one file/directory to add" );
@@ -67,12 +71,12 @@
         {
             return new AddScmResult( cl.toString(), "The git-add command failed.", stderr.getOutput(), false );
         }
-        
+
         // git-add doesn't show single files, but only summary :/
         // so we must run git-status and consume the output
         // borrow a few things from the git-status command
         Commandline clStatus = GitStatusCommand.createCommandLine( repository, fileSet );
-        
+
         GitStatusConsumer statusConsumer = new GitStatusConsumer( getLogger(), fileSet.getBasedir() );
         exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr, getLogger() );
         if ( exitCode != 0 )
@@ -82,26 +86,26 @@
         }
 
         List changedFiles = new ArrayList();
-        
+
         // rewrite all detected files to now have status 'checked_in'
         for ( Iterator it = statusConsumer.getChangedFiles().iterator(); it.hasNext(); )
         {
             ScmFile scmfile = (ScmFile) it.next();
-            
+
             // if a specific fileSet is given, we have to check if the file is really tracked
             for ( Iterator itfl = fileSet.getFileList().iterator(); itfl.hasNext(); )
             {
                 File f = (File) itfl.next();
-                if ( f.toString().equals( scmfile.getPath() )) 
+                if ( f.toString().equals( scmfile.getPath() ) )
                 {
-                    changedFiles.add( scmfile );                  
+                    changedFiles.add( scmfile );
                 }
             }
-        }        
+        }
         return new AddScmResult( cl.toString(), changedFiles );
     }
 
-    public static Commandline createCommandLine( File workingDirectory, List/*File*/ files )
+    public static Commandline createCommandLine( File workingDirectory, List/*File*/files )
         throws ScmException
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "add" );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
index 05501fb..5ed229f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
@@ -39,11 +39,14 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitBranchCommand extends AbstractBranchCommand implements GitCommand
+public class GitBranchCommand
+    extends AbstractBranchCommand
+    implements GitCommand
 {
-    public ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch,
-                                           String message )
+    /** {@inheritDoc} */
+    public ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch, String message )
         throws ScmException
     {
         if ( branch == null || StringUtils.isEmpty( branch.trim() ) )
@@ -69,10 +72,10 @@
         {
             return new BranchScmResult( cl.toString(), "The git-branch command failed.", stderr.getOutput(), false );
         }
-        
+
         // and now push the branch to the origin repository
         Commandline clPush = createPushCommandLine( repository, fileSet, branch );
-        
+
         exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr, getLogger() );
         if ( exitCode != 0 )
         {
@@ -80,16 +83,15 @@
         }
 
         // as last action we search for the branched files
-        GitListConsumer listConsumer = new GitListConsumer( getLogger()
-        		                                          , fileSet.getBasedir()
-        		                                          , ScmFileStatus.TAGGED);
+        GitListConsumer listConsumer = new GitListConsumer( getLogger(), fileSet.getBasedir(), ScmFileStatus.TAGGED );
 
         Commandline clList = GitListCommand.createCommandLine( repository, fileSet.getBasedir() );
-        
+
         exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr, getLogger() );
         if ( exitCode != 0 )
         {
-            return new BranchScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(), false );
+            return new BranchScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(),
+                                        false );
         }
 
         return new BranchScmResult( cl.toString(), listConsumer.getListedFiles() );
@@ -108,17 +110,17 @@
 
         return cl;
     }
-    
+
     public static Commandline createPushCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet,
                                                      String branch )
-	throws ScmException
-	{
-		Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push");
-		
-		cl.createArgument().setValue( "origin" );
-		cl.createArgument().setValue( branch );
-		
-		return cl;
-	}
+        throws ScmException
+    {
+        Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push" );
+
+        cl.createArgument().setValue( "origin" );
+        cl.createArgument().setValue( branch );
+
+        return cl;
+    }
 
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 7fa6062..28d82a4 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
@@ -47,8 +47,9 @@
     extends AbstractChangeLogCommand
     implements GitCommand
 {
-    private final static String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
+    private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           ScmVersion startVersion, ScmVersion endVersion,
                                                           String datePattern )
@@ -57,6 +58,7 @@
         return executeChangeLogCommand( repo, fileSet, null, null, null, datePattern, startVersion, endVersion );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
@@ -102,21 +104,23 @@
     {
         SimpleDateFormat dateFormat = new SimpleDateFormat( DATE_FORMAT );
         dateFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
-        
+
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "log" );
 
-        if ( startVersion != null ) {
+        if ( startVersion != null )
+        {
             cl.createArgument().setValue( "--since=" + StringUtils.escape( startVersion.getName() ) );
         }
-        else 
+        else
         {
             if ( startDate != null )
             {
                 cl.createArgument().setValue( "--since=" + StringUtils.escape( dateFormat.format( startDate ) ) );
             }
         }
-        
-        if ( endVersion != null ) {
+
+        if ( endVersion != null )
+        {
             cl.createArgument().setValue( "--until=" + StringUtils.escape( endVersion.getName() ) );
         }
         else
@@ -126,9 +130,9 @@
                 cl.createArgument().setValue( "--until=" + StringUtils.escape( dateFormat.format( endDate ) ) );
             }
         }
-        
+
         cl.createArgument().setValue( "--date=iso" );
-        
+
         return cl;
     }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
index c9b50ad..40d9bcb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
@@ -33,6 +33,7 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitChangeLogConsumer
     extends AbstractConsumer
@@ -52,12 +53,12 @@
      * State machine constant: expecting author information
      */
     private static final int STATUS_GET_AUTHOR = 2;
-    
+
     /**
      * State machine constant: expecting date information
      */
     private static final int STATUS_GET_DATE = 3;
-    
+
     /**
      * State machine constant: expecting file information
      */
@@ -68,7 +69,6 @@
      */
     private static final int STATUS_GET_COMMENT = 5;
 
-    
     /**
      * The pattern used to match git header lines
      */
@@ -87,9 +87,9 @@
     /**
      * The pattern used to match git file lines
      */
-//X    private static final String FILE_PATTERN = "^:\\d* \\d* [:xdigit:]*\\.* [:xdigit:]*\\.* ([:upper:]) (.*)";
+    //X    private static final String FILE_PATTERN = "^:\\d* \\d* [:xdigit:]*\\.* [:xdigit:]*\\.* ([:upper:]) (.*)";
     private static final String FILE_PATTERN = "^:\\d* \\d* [:xdigit:]*\\.* [:xdigit:]*\\.* ([:upper:])\\t(.*)";
-    
+
     /**
      * Current status of the parser
      */
@@ -124,18 +124,17 @@
      * The regular expression used to match author lines
      */
     private RE authorRegexp;
-    
+
     /**
      * The regular expression used to match date lines
      */
     private RE dateRegexp;
-    
+
     /**
      * The regular expression used to match file lines
      */
     private RE fileRegexp;
-    
-    
+
     private String userDateFormat;
 
     /**
@@ -151,22 +150,22 @@
         {
             headerRegexp = new RE( HEADER_PATTERN );
             authorRegexp = new RE( AUTHOR_PATTERN );
-            dateRegexp   = new RE( DATE_PATTERN   );
-            fileRegexp   = new RE( FILE_PATTERN   );
+            dateRegexp = new RE( DATE_PATTERN );
+            fileRegexp = new RE( FILE_PATTERN );
         }
         catch ( RESyntaxException ex )
         {
             throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
+                                        "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
+                                        ex );
         }
     }
 
     public List getModifications()
     {
-        // this is needed since the processFile does not always get a the end-sequence correctly. 
+        // this is needed since the processFile does not always get a the end-sequence correctly.
         processGetFile( "" );
-        
+
         return entries;
     }
 
@@ -174,6 +173,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         switch ( status )
@@ -197,8 +197,6 @@
                 throw new IllegalStateException( "Unknown state: " + status );
         }
     }
-    
-      
 
     // ----------------------------------------------------------------------
     //
@@ -223,7 +221,7 @@
         currentRevision = headerRegexp.getParen( 1 );
 
         currentChange = new GitChangeSet();
-        
+
         status = STATUS_GET_AUTHOR;
     }
 
@@ -240,9 +238,9 @@
             return;
         }
         String author = authorRegexp.getParen( 1 );
-        
+
         currentChange.setAuthor( author );
-        
+
         status = STATUS_GET_DATE;
     }
 
@@ -258,13 +256,13 @@
         {
             return;
         }
-        
+
         String datestring = dateRegexp.getParen( 1 );
-      
-        Date date = parseDate( datestring.trim() , userDateFormat, GIT_TIMESTAMP_PATTERN, locale );
-        
+
+        Date date = parseDate( datestring.trim(), userDateFormat, GIT_TIMESTAMP_PATTERN, locale );
+
         currentChange.setDate( date );
-        
+
         status = STATUS_GET_COMMENT;
     }
 
@@ -278,7 +276,7 @@
     {
         if ( line.length() < 4 )
         {
-            if (currentComment == null)
+            if ( currentComment == null )
             {
                 currentComment = new StringBuffer();
             }
@@ -288,12 +286,13 @@
                 status = STATUS_GET_FILE;
             }
         }
-        else 
+        else
         {
-            if ( currentComment.length() > 0 ) {
+            if ( currentComment.length() > 0 )
+            {
                 currentComment.append( '\n' );
             }
-            
+
             currentComment.append( line.substring( 4 ) );
         }
     }
@@ -314,9 +313,9 @@
             {
                 entries.add( currentChange );
             }
-            
+
             resetChangeLog();
-            
+
             status = STATUS_GET_HEADER;
         }
         else
@@ -327,15 +326,16 @@
             }
             // String action = fileRegexp.getParen( 1 );
             // action is currently not used
-            
+
             String name = fileRegexp.getParen( 2 );
-            
+
             currentChange.addFile( new ChangeFile( name, currentRevision ) );
         }
     }
 
-    private void resetChangeLog() {
-    	currentComment = null;
-    	currentChange = null;
+    private void resetChangeLog()
+    {
+        currentComment = null;
+        currentChange = null;
     }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
index c549770..84bb198 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
@@ -46,14 +46,18 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitCheckInCommand extends AbstractCheckInCommand implements GitCommand
+public class GitCheckInCommand
+    extends AbstractCheckInCommand
+    implements GitCommand
 {
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )
         throws ScmException
     {
-    	GitScmProviderRepository repository = (GitScmProviderRepository) repo;
+        GitScmProviderRepository repository = (GitScmProviderRepository) repo;
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -67,8 +71,8 @@
         }
         catch ( IOException ex )
         {
-            return new CheckInScmResult( null, "Error while making a temporary file for the commit message: " +
-                ex.getMessage(), null, false );
+            return new CheckInScmResult( null, "Error while making a temporary file for the commit message: "
+                + ex.getMessage(), null, false );
         }
 
         try
@@ -79,21 +83,22 @@
                 // otherwise we will use 'git-commit -a' later
 
                 Commandline clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() );
-                
+
                 exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() );
-                
+
                 if ( exitCode != 0 )
                 {
-                    return new CheckInScmResult( clAdd.toString(), "The git-add command failed.", stderr.getOutput(), false );
+                    return new CheckInScmResult( clAdd.toString(), "The git-add command failed.", stderr.getOutput(),
+                                                 false );
                 }
 
             }
-            
+
             // git-commit doesn't show single files, but only summary :/
             // so we must run git-status and consume the output
             // borrow a few things from the git-status command
             Commandline clStatus = GitStatusCommand.createCommandLine( repository, fileSet );
-            
+
             GitStatusConsumer statusConsumer = new GitStatusConsumer( getLogger(), fileSet.getBasedir() );
             exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr, getLogger() );
             if ( exitCode != 0 )
@@ -101,49 +106,51 @@
                 // git-status returns non-zero if nothing to do
                 getLogger().info( "nothing added to commit but untracked files present (use \"git add\" to track)" );
             }
-            
-        	Commandline clCommit = createCommitCommandLine(repository, fileSet, messageFile);
-        	
+
+            Commandline clCommit = createCommitCommandLine( repository, fileSet, messageFile );
+
             exitCode = GitCommandLineUtils.execute( clCommit, stdout, stderr, getLogger() );
-	        if ( exitCode != 0 )
-	        {
-	            return new CheckInScmResult( clCommit.toString(), "The git-commit command failed.", stderr.getOutput(), false );
-	        }
-	        
-	        Commandline cl = createPushCommandLine( repository, fileSet, version );
-	
+            if ( exitCode != 0 )
+            {
+                return new CheckInScmResult( clCommit.toString(), "The git-commit command failed.", stderr.getOutput(),
+                                             false );
+            }
+
+            Commandline cl = createPushCommandLine( repository, fileSet, version );
+
             exitCode = GitCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
-	        if ( exitCode != 0 )
-	        {
-	            return new CheckInScmResult( cl.toString(), "The git-push command failed.", stderr.getOutput(), false );
-	        }
+            if ( exitCode != 0 )
+            {
+                return new CheckInScmResult( cl.toString(), "The git-push command failed.", stderr.getOutput(), false );
+            }
 
-	        List checkedInFiles = new ArrayList( statusConsumer.getChangedFiles().size() );
-	        
-	        // rewrite all detected files to now have status 'checked_in'
-	        for ( Iterator it = statusConsumer.getChangedFiles().iterator(); it.hasNext(); )
-	        {
-	            ScmFile scmfile = new ScmFile( ((ScmFile) it.next()).getPath(), ScmFileStatus.CHECKED_IN );
-	            
-	            if ( fileSet.getFileList().isEmpty() ) {
-	                checkedInFiles.add( scmfile );	                
-	            }
-	            else
-	            {
-	                // if a specific fileSet is given, we have to check if the file is really tracked
-	                for ( Iterator itfl = fileSet.getFileList().iterator(); itfl.hasNext(); )
-	                {
-	                    File f = (File) itfl.next();
-	                    if ( f.toString().equals( scmfile.getPath() )) 
-	                    {
-	                        checkedInFiles.add( scmfile );                  
-	                    }
+            List checkedInFiles = new ArrayList( statusConsumer.getChangedFiles().size() );
 
-	                }
-	            }
-	        }
-	        
-	        return new CheckInScmResult( cl.toString(), checkedInFiles );
+            // rewrite all detected files to now have status 'checked_in'
+            for ( Iterator it = statusConsumer.getChangedFiles().iterator(); it.hasNext(); )
+            {
+                ScmFile scmfile = new ScmFile( ( (ScmFile) it.next() ).getPath(), ScmFileStatus.CHECKED_IN );
+
+                if ( fileSet.getFileList().isEmpty() )
+                {
+                    checkedInFiles.add( scmfile );
+                }
+                else
+                {
+                    // if a specific fileSet is given, we have to check if the file is really tracked
+                    for ( Iterator itfl = fileSet.getFileList().iterator(); itfl.hasNext(); )
+                    {
+                        File f = (File) itfl.next();
+                        if ( f.toString().equals( scmfile.getPath() ) )
+                        {
+                            checkedInFiles.add( scmfile );
+                        }
+
+                    }
+                }
+            }
+
+            return new CheckInScmResult( cl.toString(), checkedInFiles );
         }
         finally
         {
@@ -164,16 +171,16 @@
     // ----------------------------------------------------------------------
 
     public static Commandline createPushCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet,
-    		                                         ScmVersion version )
+                                                     ScmVersion version )
         throws ScmException
     {
-        Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push");
+        Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push" );
 
         //X TODO handle version
-        
+
         return cl;
     }
-    
+
     public static Commandline createCommitCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet,
                                                        File messageFile )
         throws ScmException
@@ -193,7 +200,7 @@
         }
         else
         {
-            // specify exactly which files to commit 
+            // specify exactly which files to commit
             GitCommandLineUtils.addTarget( cl, fileSet.getFileList() );
         }
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
index 6047d21..e43250d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
@@ -40,15 +40,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitCheckOutCommand extends AbstractCheckOutCommand implements GitCommand
+public class GitCheckOutCommand
+    extends AbstractCheckOutCommand
+    implements GitCommand
 {
     /**
      * For git, the given repository is a remote one.
      * We have to clone it first if the working directory does not contain a git repo yet,
      * otherwise we have to git-pull it.
-     * 
+     *
      * TODO We currently assume a '.git' directory, so this does not work for --bare repos
+     * {@inheritDoc}
      */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version )
@@ -56,8 +60,8 @@
     {
         GitScmProviderRepository repository = (GitScmProviderRepository) repo;
 
-        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getProtocol() ) &&
-             repository.getUrl().indexOf( fileSet.getBasedir().getPath() ) >= 0 ) 
+        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getProtocol() )
+            && repository.getUrl().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
         {
             throw new ScmException( "remote repository must not be the working directory" );
         }
@@ -66,40 +70,39 @@
 
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
-        
 
-        if ( !fileSet.getBasedir().exists() || 
-             !( new File( fileSet.getBasedir(), ".git" ).exists() ) )
+        if ( !fileSet.getBasedir().exists() || !( new File( fileSet.getBasedir(), ".git" ).exists() ) )
         {
-            if ( fileSet.getBasedir().exists() ) 
+            if ( fileSet.getBasedir().exists() )
             {
                 // git refuses to clone otherwise
                 fileSet.getBasedir().delete();
             }
-            
+
             // no git repo seems to exist, let's clone the original repo
             Commandline clClone = createCloneCommand( repository, fileSet.getBasedir() );
-            
+
             exitCode = GitCommandLineUtils.execute( clClone, stdout, stderr, getLogger() );
             if ( exitCode != 0 )
             {
-                return new CheckOutScmResult( clClone.toString(), "The git-clone command failed.", stderr.getOutput(), false );
+                return new CheckOutScmResult( clClone.toString(), "The git-clone command failed.", stderr.getOutput(),
+                                              false );
             }
         }
 
-        if ( fileSet.getBasedir().exists() && 
-             new File( fileSet.getBasedir(), ".git" ).exists() ) 
+        if ( fileSet.getBasedir().exists() && new File( fileSet.getBasedir(), ".git" ).exists() )
         {
             // git repo exists, so we must git-pull the changes
             Commandline clPull = createPullCommand( repository, fileSet.getBasedir(), version );
-            
+
             exitCode = GitCommandLineUtils.execute( clPull, stdout, stderr, getLogger() );
             if ( exitCode != 0 )
             {
-                return new CheckOutScmResult( clPull.toString(), "The git-pull command failed.", stderr.getOutput(), false );
+                return new CheckOutScmResult( clPull.toString(), "The git-pull command failed.", stderr.getOutput(),
+                                              false );
             }
         }
-        
+
         // and now lets do the git-checkout itself
         Commandline cl = createCommandLine( repository, fileSet.getBasedir(), version );
 
@@ -110,16 +113,15 @@
         }
 
         // and now search for the files
-        GitListConsumer listConsumer = new GitListConsumer( getLogger()
-        		                                          , fileSet.getBasedir()
-        		                                          , ScmFileStatus.CHECKED_IN);
+        GitListConsumer listConsumer = new GitListConsumer( getLogger(), fileSet.getBasedir(), ScmFileStatus.CHECKED_IN );
 
         Commandline clList = GitListCommand.createCommandLine( repository, fileSet.getBasedir() );
-        
+
         exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr, getLogger() );
         if ( exitCode != 0 )
         {
-            return new CheckOutScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(), false );
+            return new CheckOutScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(),
+                                          false );
         }
 
         return new CheckOutScmResult( cl.toString(), listConsumer.getListedFiles() );
@@ -134,7 +136,6 @@
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "checkout" );
 
-        
         if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             cl.createArgument().setValue( version.getName() );
@@ -142,46 +143,47 @@
 
         return cl;
     }
-    
+
     /**
-     * create a git-clone repository command 
+     * create a git-clone repository command
      */
     private Commandline createCloneCommand( GitScmProviderRepository repository, File workingDirectory )
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory.getParentFile(), "clone" );
-        
+
         cl.createArgument().setValue( repository.getUrl() );
-        
+
         cl.createArgument().setFile( workingDirectory );
-        
+
         return cl;
     }
-    
+
     /**
-     * create a git-pull repository command 
+     * create a git-pull repository command
      */
     private Commandline createPullCommand( GitScmProviderRepository repository, File workingDirectory,
                                            ScmVersion version )
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "pull" );
-        
+
         cl.createArgument().setValue( repository.getUrl() );
-        
+
         if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
         {
             if ( version instanceof ScmTag )
             {
-            	cl.createArgument().setValue( "tag" );
-            	cl.createArgument().setValue( version.getName() );
+                cl.createArgument().setValue( "tag" );
+                cl.createArgument().setValue( version.getName() );
             }
             else
             {
-            	cl.createArgument().setValue( version.getName() + ":" + version.getName() );
+                cl.createArgument().setValue( version.getName() + ":" + version.getName() );
             }
         }
-        else {
-        	cl.createArgument().setValue( "master" );
+        else
+        {
+            cl.createArgument().setValue( "master" );
         }
         return cl;
-    }    
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
index 40f040b..32cae5d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
@@ -36,11 +36,15 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitDiffCommand extends AbstractDiffCommand implements GitCommand
+public class GitDiffCommand
+    extends AbstractDiffCommand
+    implements GitCommand
 {
-    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion startVersion,
-                                                ScmVersion endVersion )
+    /** {@inheritDoc} */
+    protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                ScmVersion startVersion, ScmVersion endVersion )
         throws ScmException
     {
         GitDiffConsumer consumer = new GitDiffConsumer( getLogger(), fileSet.getBasedir() );
@@ -52,7 +56,8 @@
         exitCode = GitCommandLineUtils.execute( clDiff2Index, consumer, stderr, getLogger() );
         if ( exitCode != 0 )
         {
-            return new DiffScmResult( clDiff2Index.toString(), "The git-diff command failed.", stderr.getOutput(), false );
+            return new DiffScmResult( clDiff2Index.toString(), "The git-diff command failed.", stderr.getOutput(),
+                                      false );
         }
 
         Commandline clDiff2Head = createCommandLine( fileSet.getBasedir(), startVersion, endVersion, true );
@@ -74,12 +79,14 @@
     /**
      * @param cached if <code>true</code> diff the index to the head, else diff the tree to the index
      */
-    public static Commandline createCommandLine( File workingDirectory, ScmVersion startVersion, ScmVersion endVersion, boolean cached )
+    public static Commandline createCommandLine( File workingDirectory, ScmVersion startVersion, ScmVersion endVersion,
+                                                 boolean cached )
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "diff" );
 
-        if ( cached ) {
-        	cl.createArgument().setValue( "--cached" );
+        if ( cached )
+        {
+            cl.createArgument().setValue( "--cached" );
         }
 
         if ( startVersion != null && StringUtils.isNotEmpty( startVersion.getName() ) )
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
index 20f65c9..82a3700 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
@@ -29,7 +29,6 @@
 import org.apache.maven.scm.provider.git.command.GitCommand;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils;
-import org.apache.maven.scm.provider.git.gitexe.command.list.GitListConsumer;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
@@ -37,18 +36,21 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitListCommand extends AbstractListCommand implements GitCommand
+public class GitListCommand
+    extends AbstractListCommand
+    implements GitCommand
 {
-
-    protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet,
-                                                boolean recursive, ScmVersion scmVersion )
+    /** {@inheritDoc} */
+    protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
+                                                ScmVersion scmVersion )
         throws ScmException
     {
         GitScmProviderRepository repository = (GitScmProviderRepository) repo;
 
-        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getProtocol() ) &&
-             repository.getUrl().indexOf( fileSet.getBasedir().getPath() ) >= 0 ) 
+        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getProtocol() )
+            && repository.getUrl().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
         {
             throw new ScmException( "remote repository must not be the working directory" );
         }
@@ -56,10 +58,9 @@
         int exitCode;
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
-        GitListConsumer consumer = new GitListConsumer( getLogger()
-        		                                      , fileSet.getBasedir().getParentFile()
-        		                                      , ScmFileStatus.CHECKED_IN );
-        
+        GitListConsumer consumer = new GitListConsumer( getLogger(), fileSet.getBasedir().getParentFile(),
+                                                        ScmFileStatus.CHECKED_IN );
+
         Commandline cl = createCommandLine( repository, fileSet.getBasedir() );
 
         exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
@@ -78,8 +79,8 @@
     public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory )
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "ls-files" );
-        
+
         return cl;
     }
-    
+
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java
index 2060e58..b52e088 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java
@@ -29,24 +29,26 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitListConsumer
     extends AbstractFileCheckingConsumer
 {
-	private ScmFileStatus fileStatus; 
+    private ScmFileStatus fileStatus;
 
-	/**
-	 * @param logger
-	 * @param workingDirectory
-	 * @param fileStatus will be used for each file found
-	 */
+    /**
+     * @param logger
+     * @param workingDirectory
+     * @param fileStatus will be used for each file found
+     */
     public GitListConsumer( ScmLogger logger, File workingDirectory, ScmFileStatus fileStatus )
     {
         super( logger, workingDirectory );
-        
+
         this.fileStatus = fileStatus;
     }
 
+    /** {@inheritDoc} */
     protected void parseLine( String line )
     {
         String file = line;
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
index 8e263b8..ab0a941 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
@@ -36,9 +36,11 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitRemoveCommand extends AbstractRemoveCommand implements GitCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message )
         throws ScmException
     {
@@ -50,7 +52,7 @@
         }
 
         Commandline cl = createCommandLine( fileSet.getBasedir(), fileSet.getFileList() );
-        
+
         GitRemoveConsumer consumer = new GitRemoveConsumer( getLogger() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
@@ -68,12 +70,12 @@
 
     public static Commandline createCommandLine( File workingDirectory, List/*File*/ files )
     throws ScmException
-	{
-	    Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "rm" );
-	
-	    GitCommandLineUtils.addTarget( cl, files );
-	
-	    return cl;
-	}
+    {
+        Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "rm" );
+
+        GitCommandLineUtils.addTarget( cl, files );
+
+        return cl;
+    }
 
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
index 31c1008..24be69d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
@@ -31,6 +31,7 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitRemoveConsumer implements StreamConsumer
 {
@@ -64,13 +65,14 @@
             throw new RuntimeException(
                 "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
                 ex );
-        }        
+        }
     }
 
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.length() <= 2 )
@@ -78,9 +80,9 @@
             return;
         }
 
-        if ( removedRegexp.match( line ) ) 
+        if ( removedRegexp.match( line ) )
         {
-        	String file = removedRegexp.getParen( 1 );
+            String file = removedRegexp.getParen( 1 );
             removedFiles.add( new ScmFile( file, ScmFileStatus.DELETED ) );
         }
         else
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
index 7c4c286..ae61165 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
@@ -38,6 +38,7 @@
     extends AbstractStatusCommand
     implements GitCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
index 4cd17ab..580e99f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
@@ -33,6 +33,7 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitStatusConsumer
     implements StreamConsumer
@@ -46,12 +47,12 @@
      * The pattern used to match modified file lines
      */
     private static final String MODIFIED_PATTERN = "^#\\s*modified:\\s*(.*)";
-    
+
     /**
      * The pattern used to match deleted file lines
      */
     private static final String DELETED_PATTERN = "^#\\s*deleted:\\s*(.*)";
-    
+
     /**
      * @see #ADDED_PATTERN
      */
@@ -61,12 +62,12 @@
      * @see #MODIFIED_PATTERN
      */
     private RE modifiedRegexp;
-    
+
     /**
      * @see #DELETED_PATTERN
      */
     private RE deletedRegexp;
-    
+
     private ScmLogger logger;
 
     private File workingDirectory;
@@ -81,7 +82,7 @@
     {
         this.logger = logger;
         this.workingDirectory = workingDirectory;
-        
+
         try
         {
             addedRegexp    = new RE( ADDED_PATTERN    );
@@ -93,13 +94,14 @@
             throw new RuntimeException(
                 "INTERNAL ERROR: Could not create regexp to parse git log file. This shouldn't happen. Something is probably wrong with the oro installation.",
                 ex );
-        }        
+        }
     }
 
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
@@ -107,27 +109,27 @@
         {
             return;
         }
-        
+
         ScmFileStatus status = null;
-        
+
         String file = null;
 
-        if ( addedRegexp.match( line ) ) 
+        if ( addedRegexp.match( line ) )
         {
             status = ScmFileStatus.ADDED;
             file = addedRegexp.getParen( 1 );
-        } 
-        else if ( modifiedRegexp.match( line ) ) 
+        }
+        else if ( modifiedRegexp.match( line ) )
         {
             status = ScmFileStatus.MODIFIED;
             file = modifiedRegexp.getParen( 1 );
         }
-        else if ( deletedRegexp.match( line ) ) 
+        else if ( deletedRegexp.match( line ) )
         {
             status = ScmFileStatus.DELETED;
             file = deletedRegexp.getParen( 1 );
         }
-        
+
         // If the file isn't a file; don't add it.
         if ( file != null )
         {
@@ -135,11 +137,11 @@
             {
                 return;
             }
-            
+
             changedFiles.add( new ScmFile( file, status ) );
         }
 
-        
+
     }
 
     public List getChangedFiles()
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
index 4242b3d..39b4fb7 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
@@ -42,9 +42,13 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
-public class GitTagCommand extends AbstractTagCommand implements GitCommand
+public class GitTagCommand
+    extends AbstractTagCommand
+    implements GitCommand
 {
+    /** {@inheritDoc} */
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
@@ -68,12 +72,10 @@
         }
         catch ( IOException ex )
         {
-            return new TagScmResult( null,
-                                     "Error while making a temporary file for the commit message: " + ex.getMessage(),
-                                     null, false );
+            return new TagScmResult( null, "Error while making a temporary file for the commit message: "
+                + ex.getMessage(), null, false );
         }
 
-
         try
         {
             CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
@@ -91,7 +93,7 @@
 
             // and now push the tag to the origin repository
             Commandline clPush = createPushCommandLine( repository, fileSet, tag );
-            
+
             exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr, getLogger() );
             if ( exitCode != 0 )
             {
@@ -99,16 +101,15 @@
             }
 
             // plus search for the tagged files
-            GitListConsumer listConsumer = new GitListConsumer( getLogger()
-            		                                          , fileSet.getBasedir()
-            		                                          , ScmFileStatus.TAGGED );
+            GitListConsumer listConsumer = new GitListConsumer( getLogger(), fileSet.getBasedir(), ScmFileStatus.TAGGED );
 
             Commandline clList = GitListCommand.createCommandLine( repository, fileSet.getBasedir() );
-            
+
             exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr, getLogger() );
             if ( exitCode != 0 )
             {
-                return new CheckOutScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(), false );
+                return new CheckOutScmResult( clList.toString(), "The git-ls-files command failed.",
+                                              stderr.getOutput(), false );
             }
 
             return new TagScmResult( clTag.toString(), listConsumer.getListedFiles() );
@@ -131,8 +132,8 @@
     //
     // ----------------------------------------------------------------------
 
-    public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, String tag,
-                                                 File messageFile )
+    public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory,
+                                                 String tag, File messageFile )
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "tag" );
 
@@ -145,16 +146,15 @@
         return cl;
     }
 
-    public static Commandline createPushCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet,
-                                                     String tag )
-          throws ScmException
-      {
-          Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push");
+    public static Commandline createPushCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet, String tag )
+        throws ScmException
+    {
+        Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push" );
 
-          cl.createArgument().setValue( "origin" );
-          cl.createArgument().setValue( tag );
-          
-          return cl;
-      }
-      
+        cl.createArgument().setValue( "origin" );
+        cl.createArgument().setValue( tag );
+
+        return cl;
+    }
+
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
index e8c51f6..fa317d8 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
@@ -1,21 +1,5 @@
 package org.apache.maven.scm.provider.git.gitexe.command.update;
 
-import java.util.Collections;
-
-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;
-import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
-import org.apache.maven.scm.provider.ScmProviderRepository;
-import org.apache.maven.scm.provider.git.command.GitCommand;
-import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils;
-import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
-import org.codehaus.plexus.util.cli.Commandline;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -35,33 +19,48 @@
  * under the License.
  */
 
+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;
+import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
+import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.codehaus.plexus.util.cli.Commandline;
+
 /**
  * @author <a href="mailto:olamy@apache.org">olamy</a>
- * @since 10 août 2008
+ * @since 10 august 2008
  * @version $Id$
  */
-public class GitUpdateCommand extends AbstractUpdateCommand implements GitCommand
+public class GitUpdateCommand
+    extends AbstractUpdateCommand
+    implements GitCommand
 {
-
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                     ScmVersion scmVersion )
         throws ScmException
     {
         GitScmProviderRepository repository = (GitScmProviderRepository) repo;
 
-        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getProtocol() ) &&
-             repository.getUrl().indexOf( fileSet.getBasedir().getPath() ) >= 0 ) 
+        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getProtocol() )
+            && repository.getUrl().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
         {
             throw new ScmException( "remote repository must not be the working directory" );
         }
 
         int exitCode;
 
-        GitUpdateCommandConsumer consumer = new GitUpdateCommandConsumer( getLogger(), fileSet
-            .getBasedir() );
-        
+        GitUpdateCommandConsumer consumer = new GitUpdateCommandConsumer( getLogger(), fileSet.getBasedir() );
+
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
-        
+
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "pull" );
         cl.createArg().setLine( "origin" );
         cl.createArg().setLine( "master" );
@@ -69,17 +68,16 @@
         if ( exitCode != 0 )
         {
             getLogger().warn( "failed to update git, return code " + exitCode );
-            return new UpdateScmResult( cl.toString(), "The git-pull origin master command failed.", stderr.getOutput(), false );
+            return new UpdateScmResult( cl.toString(), "The git-pull origin master command failed.",
+                                        stderr.getOutput(), false );
         }
-        return new UpdateScmResultWithRevision( cl.toString(), consumer.getUpdatedFiles(), null );        
+        return new UpdateScmResultWithRevision( cl.toString(), consumer.getUpdatedFiles(), null );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         // TODO Auto-generated method stub
         return null;
     }
-
-    
-
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandConsumer.java
index c3b0b5c..418e5f4 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandConsumer.java
@@ -1,17 +1,5 @@
 package org.apache.maven.scm.provider.git.gitexe.command.update;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.scm.ScmFile;
-import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
-import org.apache.maven.scm.util.AbstractConsumer;
-import org.codehaus.plexus.util.StringUtils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -31,6 +19,18 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.ScmLogger;
+import org.apache.maven.scm.util.AbstractConsumer;
+import org.codehaus.plexus.util.StringUtils;
+
 /**
  * @author <a href="mailto:olamy@apache.org">olamy</a>
  * @version $Id$
@@ -38,7 +38,7 @@
 public class GitUpdateCommandConsumer
     extends AbstractConsumer
 {
-    
+
     private boolean updatingFound;
 
     private boolean summaryFound;
@@ -50,6 +50,7 @@
         super( logger );
     }
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( "GitUpdateCommandConsumer consumeLine : " + line );
@@ -74,7 +75,7 @@
         }
         if ( updatingFound && !summaryFound )
         {
-            // test format : pom.xml\u2190[m |    
+            // test format : pom.xml\u2190[m |
             int index = line.indexOf( "\u2190[" );
 
             if ( index >= 0 )
@@ -130,5 +131,5 @@
     {
         getLogger().debug( " updatedFiles size " + scmFiles.size() );
         return new ArrayList( scmFiles.values() );
-    }    
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/site/site.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/site/site.xml
new file mode 100644
index 0000000..babcad0
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Git Executable">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml
index 65021d7..3f36c3b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,20 +20,23 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-git</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-git</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-gittest</artifactId>
+
   <name>Maven SCM git Provider TCK Tests</name>
-  <version>1.1</version>
+  <description>Tests library for SCM Git Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.1</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java
index 11e4960..f9caec8 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitBranchCommandTckTest
     extends BranchCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java
index a2cb6c7..7550e50 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitCheckInCommandTckTest
     extends CheckInCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkout/GitCheckOutCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkout/GitCheckOutCommandTckTest.java
index c398c84..27493e7 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkout/GitCheckOutCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkout/GitCheckOutCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitCheckOutCommandTckTest
     extends CheckOutCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffCommandTckTest.java
index 29568e6..7fbad62 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitDiffCommandTckTest
     extends DiffCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/list/GitListCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/list/GitListCommandTckTest.java
index e6d0916..3e46ccd 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/list/GitListCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/list/GitListCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitListCommandTckTest
     extends ListCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java
index 2560885..d6238dd 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java
@@ -24,17 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitStatusCommandTckTest
     extends StatusCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
-
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java
index 1bbfd82..6367146 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitTagCommandTckTest
     extends TagCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java
index 0f9302f..22f9fd1 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java
@@ -24,16 +24,19 @@
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
  */
 public class GitUpdateCommandTckTest
     extends UpdateCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return GitScmTestUtils.getScmUrl( getRepositoryRoot() );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/site/site.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/site/site.xml
new file mode 100644
index 0000000..fbfccdc
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Git Test">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-git/pom.xml b/maven-scm-providers/maven-scm-providers-git/pom.xml
index 5800646..11b88bf 100644
--- a/maven-scm-providers/maven-scm-providers-git/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,16 +20,20 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-providers-git</artifactId>
   <packaging>pom</packaging>
-  <name>Maven SCM git Provider - Parent</name>
-  <version>1.1</version>
+
+  <name>Maven SCM Git Provider - Parent</name>
+  <description>SCM Provider implementation for Git (http://git.or.cz/).</description>
+
   <modules>
     <module>maven-scm-provider-git-commons</module>
     <module>maven-scm-provider-gitexe</module>
diff --git a/maven-scm-providers/maven-scm-providers-git/src/site/site.xml b/maven-scm-providers/maven-scm-providers-git/src/site/site.xml
new file mode 100644
index 0000000..7cdcd3a
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/src/site/site.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Git Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="modules" />
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-standard/pom.xml b/maven-scm-providers/maven-scm-providers-standard/pom.xml
new file mode 100644
index 0000000..acaf046
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-standard/pom.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
+    <version>1.1</version>
+  </parent>
+
+  <artifactId>maven-scm-providers-standard</artifactId>
+  <packaging>pom</packaging>
+
+  <name>Maven SCM Standard Providers</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-accurev</artifactId>
+      <scope>runtime</scope>
+    </dependency>     
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-bazaar</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-clearcase</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-cvsexe</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-cvsjava</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-gitexe</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-hg</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-perforce</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-starteam</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-svnexe</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-synergy</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-vss</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+  </dependencies>
+</project>
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 682a271..583a720 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,19 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-svn</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-svn</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-svn-commons</artifactId>
+
   <name>Maven SCM Subversion Provider - Common library</name>
-  <version>1.1</version>
+  <description>Common library for SCM SVN Provider.</description>
+
   <build>
     <plugins>
       <plugin>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
index b45118c..6958ba0 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
@@ -64,20 +64,22 @@
 
     private static class ScmUrlParserResult
     {
-        List messages = new ArrayList();
+        private List messages = new ArrayList();
 
-        ScmProviderRepository repository;
+        private ScmProviderRepository repository;
     }
 
     // ----------------------------------------------------------------------
     // ScmProvider Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return ".svn";
     }
 
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
@@ -91,9 +93,7 @@
         return result.repository;
     }
 
-    /**
-     * @see org.apache.maven.scm.provider.AbstractScmProvider#makeProviderScmRepository(java.io.File)
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
@@ -126,6 +126,7 @@
     protected abstract String getRepositoryURL( File path )
         throws ScmException;
 
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
         List messages = new ArrayList();
@@ -140,6 +141,7 @@
         return messages;
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return "svn";
@@ -241,9 +243,7 @@
 
     protected abstract SvnCommand getAddCommand();
 
-    /**
-     * @see AbstractScmProvider#add(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -252,9 +252,7 @@
 
     protected abstract SvnCommand getBranchCommand();
 
-    /**
-     * @see AbstractScmProvider#branch(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     protected BranchScmResult branch( ScmProviderRepository repository, ScmFileSet fileSet,
                                       CommandParameters parameters )
         throws ScmException
@@ -264,9 +262,7 @@
 
     protected abstract SvnCommand getChangeLogCommand();
 
-    /**
-     * @see AbstractScmProvider#changelog(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet,
                                          CommandParameters parameters )
         throws ScmException
@@ -276,9 +272,7 @@
 
     protected abstract SvnCommand getCheckInCommand();
 
-    /**
-     * @see AbstractScmProvider#checkin(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet,
                                      CommandParameters parameters )
         throws ScmException
@@ -288,9 +282,7 @@
 
     protected abstract SvnCommand getCheckOutCommand();
 
-    /**
-     * @see AbstractScmProvider#checkout(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet,
                                        CommandParameters parameters )
         throws ScmException
@@ -300,9 +292,7 @@
 
     protected abstract SvnCommand getDiffCommand();
 
-    /**
-     * @see AbstractScmProvider#diff(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -311,6 +301,7 @@
 
     protected abstract SvnCommand getExportCommand();
 
+    /** {@inheritDoc} */
     protected ExportScmResult export( ScmProviderRepository repository, ScmFileSet fileSet,
                                       CommandParameters parameters )
         throws ScmException
@@ -320,9 +311,7 @@
 
     protected abstract SvnCommand getRemoveCommand();
 
-    /**
-     * @see AbstractScmProvider#remove(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -331,9 +320,7 @@
 
     protected abstract SvnCommand getStatusCommand();
 
-    /**
-     * @see AbstractScmProvider#status(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -342,9 +329,7 @@
 
     protected abstract SvnCommand getTagCommand();
 
-    /**
-     * @see AbstractScmProvider#tag(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -353,9 +338,7 @@
 
     protected abstract SvnCommand getUpdateCommand();
 
-    /**
-     * @see AbstractScmProvider#update(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
@@ -373,9 +356,7 @@
 
     protected abstract SvnCommand getListCommand();
 
-    /**
-     * @see AbstractScmProvider#list(ScmProviderRepository,ScmFileSet,CommandParameters)
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java
index b37cc3c..c3679e9 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java
@@ -41,7 +41,8 @@
         super();
     }
 
-    public SvnChangeSet( String strDate, String userDatePattern, String comment, String author, List/*<ChangeFile>*/ files )
+    public SvnChangeSet( String strDate, String userDatePattern, String comment, String author,
+                         List/*<ChangeFile>*/files )
     {
         super( strDate, userDatePattern, comment, author, files );
     }
@@ -51,6 +52,7 @@
         super( date, comment, author, files );
     }
 
+    /** {@inheritDoc} */
     public boolean containsFilename( String filename, ScmProviderRepository repository )
     {
         SvnScmProviderRepository repo = (SvnScmProviderRepository) repository;
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
index 66b0b7d..dc6ea52 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
@@ -25,18 +25,21 @@
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.codehaus.plexus.util.StringUtils;
 
+/**
+ * @version $Id$
+ */
 public class SvnTagBranchUtils
 {
 
-    public final static String[] REVISION_SPECIFIERS = new String[]{"HEAD", "BASE", "COMMITTED", "PREV"};
+    public static final String[] REVISION_SPECIFIERS = new String[]{"HEAD", "BASE", "COMMITTED", "PREV"};
 
-    public final static String SVN_TRUNK = "trunk";
+    public static final String SVN_TRUNK = "trunk";
 
-    public final static String SVN_BRANCHES = "branches";
+    public static final String SVN_BRANCHES = "branches";
 
-    public final static String SVN_TAGS = "tags";
+    public static final String SVN_TAGS = "tags";
 
-    public final static String[] SVN_BASE_DIRS = new String[]{SVN_TRUNK, SVN_BRANCHES, SVN_TAGS};
+    public static final String[] SVN_BASE_DIRS = new String[]{SVN_TRUNK, SVN_BRANCHES, SVN_TAGS};
 
     /**
      * Simple helper function to concatenate two paths together with a "/".
@@ -207,17 +210,19 @@
         if ( repositoryUrl.indexOf( "?" ) >= 0 )
         {
             queryString = repositoryUrl.substring( repositoryUrl.indexOf( "?" ) );
+            // if repositoryUrl contains a query string, remove it from repositoryUrlRoot; will be re-appended later
+            projectRoot = StringUtils.replace( projectRoot, queryString, "" );
         }
 
         if ( branchTagName.indexOf( "://" ) >= 0 )
         {
-            // branch/tag is already an absolute url so just return it. 
+            // branch/tag is already an absolute url so just return it.
             return branchTagName;
         }
 
         // User has a tagBase specified so just return the name appended to the tagBase
-        if ( StringUtils.isNotEmpty( tagBase ) && !tagBase.equals( resolveTagBase( repositoryUrl ) ) &&
-            !tagBase.equals( resolveBranchBase( repositoryUrl ) ) )
+        if ( StringUtils.isNotEmpty( tagBase ) && !tagBase.equals( resolveTagBase( repositoryUrl ) )
+            && !tagBase.equals( resolveBranchBase( repositoryUrl ) ) )
         {
             return appendPath( tagBase, branchTagName );
         }
@@ -235,7 +240,7 @@
         return addSuffix( appendPath( appendPath( projectRoot, subdir ), branchTagName ), queryString );
     }
 
-    /* Helper function that does the checking for {@link #isRevisionSpecifier} 
+    /* Helper function that does the checking for {@link #isRevisionSpecifier}
      */
     private static boolean checkRevisionArg( String arg )
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
index 5277339..f908480 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
@@ -44,23 +44,23 @@
     // +++ plugin.jelly        (working copy)
     //
 
-    private final static String INDEX_TOKEN = "Index: ";
+    private static final String INDEX_TOKEN = "Index: ";
 
-    private final static String FILE_SEPARATOR_TOKEN = "===";
+    private static final String FILE_SEPARATOR_TOKEN = "===";
 
-    private final static String START_REVISION_TOKEN = "---";
+    private static final String START_REVISION_TOKEN = "---";
 
-    private final static String END_REVISION_TOKEN = "+++";
+    private static final String END_REVISION_TOKEN = "+++";
 
-    private final static String ADDED_LINE_TOKEN = "+";
+    private static final String ADDED_LINE_TOKEN = "+";
 
-    private final static String REMOVED_LINE_TOKEN = "-";
+    private static final String REMOVED_LINE_TOKEN = "-";
 
-    private final static String UNCHANGED_LINE_TOKEN = " ";
+    private static final String UNCHANGED_LINE_TOKEN = " ";
 
-    private final static String CHANGE_SEPARATOR_TOKEN = "@@";
+    private static final String CHANGE_SEPARATOR_TOKEN = "@@";
 
-    private final static String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
+    private static final String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
 
     private ScmLogger logger;
 
@@ -87,6 +87,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.startsWith( INDEX_TOKEN ) )
@@ -127,9 +128,9 @@
             // skip, though could parse to verify filename, end revision
             patch.append( line ).append( "\n" );
         }
-        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
-            line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN ) ||
-            line.equals( NO_NEWLINE_TOKEN ) )
+        else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN )
+            || line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN )
+            || line.equals( NO_NEWLINE_TOKEN ) )
         {
             // add to buffer
             currentDifference.append( line ).append( "\n" );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoItem.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoItem.java
index d0dbc7d..32d25d2 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoItem.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoItem.java
@@ -21,8 +21,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
- *         <p/>
- *         $Id$
+ * @version $Id$
  */
 public class SvnInfoItem
 {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoScmResult.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoScmResult.java
index 680b0fe..3a69e39 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoScmResult.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/info/SvnInfoScmResult.java
@@ -26,8 +26,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
- *         <p/>
- *         $Id$
+ * @version $Id$
  */
 public class SvnInfoScmResult
     extends ScmResult
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
index 22719c0..a409842 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
@@ -208,11 +208,7 @@
         }
     }
 
-    /**
-     * A ScmProviderRepository like this but with the parent url (stripping the last directory)
-     *
-     * @return the parent repository or <code>null</null> if this is the top level repository
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository getParent()
     {
         String newUrl = getUrl().substring( getProtocol().length() );
@@ -238,9 +234,7 @@
         return new SvnScmProviderRepository( getProtocol() + newUrl, getUser(), getPassword() );
     }
 
-    /**
-     * Get the relative path from the ancestor to this repository
-     */
+    /** {@inheritDoc} */
     public String getRelativePath( ScmProviderRepository ancestor )
     {
         if ( ancestor instanceof SvnScmProviderRepository )
@@ -257,6 +251,7 @@
         return null;
     }
 
+    /** {@inheritDoc} */
     public String toString()
     {
         return getUrl();
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
index 13ff41d..7640eb7 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
@@ -68,7 +68,7 @@
             {
                 String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
 
-                System.out.println( message );
+                System.err.println( message );
             }
         }
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/site/site.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/site/site.xml
new file mode 100644
index 0000000..783b1c4
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM SVN Commons">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
index 9d39123..efdb8dc 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
@@ -282,6 +282,22 @@
 
     }
 
+    /**
+     * Test SCM-379
+     *
+     * @throws Exception if any
+     */
+    public void testResolveUrlWithQuery()
+        throws Exception
+    {
+        String url = "https://myserver/plugins/scmsvn/viewcvs.php/pom/trunk?root=myproj";
+
+        SvnScmProviderRepository repo = new SvnScmProviderRepository( url );
+
+        assertEquals( "https://myserver/plugins/scmsvn/viewcvs.php/pom/trunk/tags/mytag-1?root=myproj",
+                      SvnTagBranchUtils.resolveTagUrl( repo, new ScmTag( "mytag-1" ) ) );
+    }
+
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
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 ed80873..eec396d 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,31 +20,35 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-svn</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-svn</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-svnexe</artifactId>
+
   <name>Maven SCM Subversion Provider - SVN Executable Impl.</name>
-  <version>1.1</version>
+  <description>Executable library for SCM SVN Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-svn-commons</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-svntest</artifactId>
-      <version>1.1</version>
-      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>regexp</groupId>
       <artifactId>regexp</artifactId>
     </dependency>
+
+    <!-- Test -->
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-svntest</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java
index e243e98..7e8abe6 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java
@@ -50,61 +50,73 @@
 public class SvnExeScmProvider
     extends AbstractSvnScmProvider
 {
+    /** {@inheritDoc} */
     protected SvnCommand getAddCommand()
     {
         return new SvnAddCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getBranchCommand()
     {
         return new SvnBranchCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getChangeLogCommand()
     {
         return new SvnChangeLogCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getCheckInCommand()
     {
         return new SvnCheckInCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getCheckOutCommand()
     {
         return new SvnCheckOutCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getDiffCommand()
     {
         return new SvnDiffCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getExportCommand()
     {
         return new SvnExeExportCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getRemoveCommand()
     {
         return new SvnRemoveCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getStatusCommand()
     {
         return new SvnStatusCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getTagCommand()
     {
         return new SvnTagCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getUpdateCommand()
     {
         return new SvnUpdateCommand();
     }
 
+    /** {@inheritDoc} */
     protected SvnCommand getListCommand()
     {
         return new SvnListCommand();
@@ -115,9 +127,7 @@
         return new SvnInfoCommand();
     }
 
-    /**
-     * Implements retrieving the repository url for a certain path using the 'svn info' command.
-     */
+    /** {@inheritDoc} */
     protected String getRepositoryURL( File path )
         throws ScmException
     {
@@ -127,8 +137,8 @@
 
         if ( result.getInfoItems().size() != 1 )
         {
-            throw new ScmRepositoryException( "Cannot find URL: " +
-                ( result.getInfoItems().size() == 0 ? "no" : "multiple" ) + " items returned by the info command" );
+            throw new ScmRepositoryException( "Cannot find URL: "
+                + ( result.getInfoItems().size() == 0 ? "no" : "multiple" ) + " items returned by the info command" );
         }
 
         return ( (SvnInfoItem) result.getInfoItems().get( 0 ) ).getURL();
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java
index 4a7bde9..c49640c 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java
@@ -31,6 +31,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
+ * @version $Id$
  */
 public abstract class AbstractFileCheckingConsumer
     implements StreamConsumer
@@ -51,6 +52,7 @@
         this.workingDirectory = workingDirectory;
     }
 
+    /** {@inheritDoc} */
     public final void consumeLine( String line )
     {
         if ( line.length() <= 3 )
@@ -73,7 +75,8 @@
             {
                 ScmFile file = (ScmFile) it.next();
 
-                if ( !file.getStatus().equals( ScmFileStatus.DELETED ) && !new File( workingDirectory, file.getPath() ).isFile() )
+                if ( !file.getStatus().equals( ScmFileStatus.DELETED )
+                    && !new File( workingDirectory, file.getPath() ).isFile() )
                 {
                     it.remove();
                 }
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java
index ceb5b7c..b54ae65 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java
@@ -146,8 +146,8 @@
                                                CommandLineUtils.StringStreamConsumer stderr, ScmLogger logger )
         throws CommandLineException
     {
-        if ( exitCode != 0 && stderr.getOutput() != null && stderr.getOutput().indexOf( "'svn cleanup'" ) > 0 &&
-            stderr.getOutput().indexOf( "'svn help cleanup'" ) > 0 )
+        if ( exitCode != 0 && stderr.getOutput() != null && stderr.getOutput().indexOf( "'svn cleanup'" ) > 0
+            && stderr.getOutput().indexOf( "'svn help cleanup'" ) > 0 )
         {
             logger.info( "Svn command failed due to some locks in working copy. We try to run a 'svn cleanup'." );
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddCommand.java
index 0674512..b09c129 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddCommand.java
@@ -43,6 +43,7 @@
     extends AbstractAddCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeAddCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message,
                                            boolean binary )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java
index 51a3378..39b9d0b 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java
@@ -51,6 +51,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.length() <= 3 )
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java
index 56cec67..cf88341 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java
@@ -54,6 +54,7 @@
     extends AbstractBranchCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     public ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch,
                                            String message )
         throws ScmException
@@ -78,8 +79,8 @@
         }
         catch ( IOException ex )
         {
-            return new BranchScmResult( null, "Error while making a temporary file for the commit message: " +
-                ex.getMessage(), null, false );
+            return new BranchScmResult( null, "Error while making a temporary file for the commit message: "
+                + ex.getMessage(), null, false );
         }
 
         Commandline cl = createCommandLine( repository, fileSet.getBasedir(), branch, messageFile );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommand.java
index 220ae25..5c0d564 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommand.java
@@ -50,8 +50,9 @@
     extends AbstractChangeLogCommand
     implements SvnCommand
 {
-    private final static String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
+    private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           ScmVersion startVersion, ScmVersion endVersion,
                                                           String datePattern )
@@ -60,6 +61,7 @@
         return executeChangeLogCommand( repo, fileSet, null, null, null, datePattern, startVersion, endVersion );
     }
 
+    /** {@inheritDoc} */
     protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                           Date startDate, Date endDate, ScmBranch branch,
                                                           String datePattern )
@@ -164,7 +166,7 @@
 
         if ( branch != null && StringUtils.isNotEmpty( branch.getName() ) )
         {
-            // By specifying a branch and this repository url below, subversion should show 
+            // 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.
             if ( branch instanceof ScmTag )
             {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
index acab32c..87fdc8c 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
@@ -81,13 +81,13 @@
     /**
      * The pattern used to match svn header lines
      */
-    private static final String pattern = "^rev (\\d+):\\s+" + // revision number
+    private static final String PATTERN = "^rev (\\d+):\\s+" + // revision number
         "(\\w+)\\s+\\|\\s+" + // author username
         "(\\d+-\\d+-\\d+ " + // date 2002-08-24
         "\\d+:\\d+:\\d+) " + // time 16:01:00
         "([\\-+])(\\d\\d)(\\d\\d)"; // gmt offset -0400
 
-    private static final String pattern2 = "^r(\\d+)\\s+\\|\\s+" +          // revision number
+    private static final String PATTERN2 = "^r(\\d+)\\s+\\|\\s+" +          // revision number
         "(\\(\\S+\\s+\\S+\\)|\\S+)\\s+\\|\\s+" + // author username
         "(\\d+-\\d+-\\d+ " +             // date 2002-08-24
         "\\d+:\\d+:\\d+) " +             // time 16:01:00
@@ -138,14 +138,14 @@
 
         try
         {
-            headerRegexp = new RE( pattern );
-            headerRegexp2 = new RE( pattern2 );
+            headerRegexp = new RE( PATTERN );
+            headerRegexp2 = new RE( PATTERN2 );
         }
         catch ( RESyntaxException ex )
         {
             throw new RuntimeException(
-                "INTERNAL ERROR: Could not create regexp to parse svn log file. This shouldn't happen. Something is probably wrong with the oro installation.",
-                ex );
+                            "INTERNAL ERROR: Could not create regexp to parse svn log file. This shouldn't happen. Something is probably wrong with the oro installation.",
+                            ex );
         }
     }
 
@@ -158,6 +158,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         getLogger().debug( line );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java
index fdf6c81..cced457 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java
@@ -45,6 +45,7 @@
     extends AbstractCheckInCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )
         throws ScmException
@@ -62,8 +63,8 @@
         }
         catch ( IOException ex )
         {
-            return new CheckInScmResult( null, "Error while making a temporary file for the commit message: " +
-                ex.getMessage(), null, false );
+            return new CheckInScmResult( null, "Error while making a temporary file for the commit message: "
+                + ex.getMessage(), null, false );
         }
 
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet, messageFile );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java
index 6fb3914..96efd93 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java
@@ -34,17 +34,17 @@
 public class SvnCheckInConsumer
     extends AbstractFileCheckingConsumer
 {
-    private final static String SENDING_TOKEN = "Sending        ";
+    private static final String SENDING_TOKEN = "Sending        ";
 
-    private final static String ADDING_TOKEN = "Adding         ";
+    private static final String ADDING_TOKEN = "Adding         ";
 
-    private final static String ADDING_BIN_TOKEN = "Adding  (bin)  ";
+    private static final String ADDING_BIN_TOKEN = "Adding  (bin)  ";
 
-    private final static String DELETING_TOKEN = "Deleting       ";
+    private static final String DELETING_TOKEN = "Deleting       ";
 
-    private final static String TRANSMITTING_TOKEN = "Transmitting file data";
+    private static final String TRANSMITTING_TOKEN = "Transmitting file data";
 
-    private final static String COMMITTED_REVISION_TOKEN = "Committed revision";
+    private static final String COMMITTED_REVISION_TOKEN = "Committed revision";
 
     // ----------------------------------------------------------------------
     //
@@ -59,6 +59,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected void parseLine( String line )
     {
         String file;
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommand.java
index d70305f..89753d0 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommand.java
@@ -48,6 +48,7 @@
     extends AbstractCheckOutCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
index d2cad13..6d1badd 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
@@ -34,13 +34,14 @@
 public class SvnCheckOutConsumer
     extends AbstractFileCheckingConsumer
 {
-    private final static String CHECKED_OUT_REVISION_TOKEN = "Checked out revision";
+    private static final String CHECKED_OUT_REVISION_TOKEN = "Checked out revision";
 
     public SvnCheckOutConsumer( ScmLogger logger, File workingDirectory )
     {
         super( logger, workingDirectory );
     }
 
+    /** {@inheritDoc} */
     protected void parseLine( String line )
     {
         String statusString = line.substring( 0, 1 );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java
index 25e465a..70f0242 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java
@@ -44,6 +44,7 @@
     extends AbstractDiffCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion startVersion,
                                                 ScmVersion endVersion )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExeExportCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExeExportCommand.java
index 006f470..7f05c64 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExeExportCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExeExportCommand.java
@@ -49,8 +49,8 @@
 public class SvnExeExportCommand
     extends AbstractExportCommand
     implements SvnCommand
-
 {
+    /** {@inheritDoc} */
     protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version,
                                                     String outputDirectory )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java
index 20584f7..51d44ac 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java
@@ -39,8 +39,7 @@
 
 /**
  * @author <a href="mailto:kenney@apache.org">Kenney Westerhof</a>
- *         <p/>
- *         $Id$
+ * @version $Id$
  */
 public class SvnInfoCommand
     extends AbstractCommand
@@ -48,6 +47,7 @@
 {
     private static final File TMP_DIR = new File( System.getProperty( "java.io.tmpdir" ) );
 
+    /** {@inheritDoc} */
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                         CommandParameters parameters )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java
index 7fc55c8..30cc613 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java
@@ -36,6 +36,7 @@
 
     private SvnInfoItem currentItem = new SvnInfoItem();
 
+    /** {@inheritDoc} */
     public void consumeLine( String s )
     {
         if ( s.equals( "" ) )
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommand.java
index f6d6506..e1bc3a6 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListCommand.java
@@ -49,6 +49,7 @@
 {
     private static final File TMP_DIR = new File( System.getProperty( "java.io.tmpdir" ) );
 
+    /** {@inheritDoc} */
     protected ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet, boolean recursive,
                                                 ScmVersion version )
         throws ScmException
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java
index 36534d3..12cb2e1 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java
@@ -39,6 +39,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         files.add( new ScmFile( line, ScmFileStatus.CHECKED_IN ) );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java
index fad1652..cca6ea2 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java
@@ -43,6 +43,7 @@
     extends AbstractRemoveCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected ScmResult executeRemoveCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java
index 57df461..c5f1a9b 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java
@@ -51,6 +51,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         if ( line.length() <= 3 )
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java
index 33de6a7..b3b0efc 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java
@@ -39,6 +39,7 @@
     extends AbstractStatusCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java
index 2c4f5c8..a16d155 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java
@@ -57,6 +57,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     public void consumeLine( String line )
     {
         logger.debug( line );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
index b4d0010..eadce73 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
@@ -54,6 +54,7 @@
     extends AbstractTagCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommand.java
index 60b70a1..70e3849 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommand.java
@@ -51,6 +51,7 @@
     extends AbstractUpdateCommand
     implements SvnCommand
 {
+    /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
@@ -143,9 +144,7 @@
         return cl;
     }
 
-    /**
-     * @see org.apache.maven.scm.command.update.AbstractUpdateCommand#getChangeLogCommand()
-     */
+    /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
         SvnChangeLogCommand command = new SvnChangeLogCommand();
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java
index 7df4746..325b572 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java
@@ -55,6 +55,7 @@
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
 
+    /** {@inheritDoc} */
     protected void parseLine( String line )
     {
         line = line.trim();
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/site/site.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/site/site.xml
new file mode 100644
index 0000000..58efe3a
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM SVN Executable">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
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 88d5b7f..82678a8 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
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,20 +20,23 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers-svn</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-svn</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-provider-svntest</artifactId>
+
   <name>Maven SCM Subversion Provider TCK Tests</name>
-  <version>1.1</version>
+  <description>Tests library for SCM SVN Provider.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.1</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java
index 3bc7421..7ed8032 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java
@@ -37,6 +37,12 @@
  */
 public final class SvnScmTestUtils
 {
+    /** 'svn' command line */
+    public static final String SVN_COMMAND_LINE = "svn";
+
+    /** 'svnadmin' command line */
+    public static final String SVNADMIN_COMMAND_LINE = "svnadmin";
+
     private SvnScmTestUtils()
     {
     }
@@ -52,7 +58,7 @@
         Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(),
                            repositoryRoot.mkdirs() );
 
-        ScmTestCase.execute( repositoryRoot.getParentFile(), "svnadmin", "create " + repositoryRoot.getName() );
+        ScmTestCase.execute( repositoryRoot.getParentFile(), SVNADMIN_COMMAND_LINE, "create " + repositoryRoot.getName() );
 
         loadSvnDump( repositoryRoot,
                      new SvnScmTestUtils().getClass().getClassLoader().getResourceAsStream( "tck/tck.dump" ) );
@@ -69,7 +75,7 @@
         Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(),
                            repositoryRoot.mkdirs() );
 
-        ScmTestCase.execute( repositoryRoot.getParentFile(), "svnadmin", "create " + repositoryRoot.getName() );
+        ScmTestCase.execute( repositoryRoot.getParentFile(), SVNADMIN_COMMAND_LINE, "create " + repositoryRoot.getName() );
 
         Assert.assertTrue( "The dump file doesn't exist: " + dump.getAbsolutePath(), dump.exists() );
 
@@ -81,7 +87,7 @@
     {
         Commandline cl = new Commandline();
 
-        cl.setExecutable( "svnadmin" );
+        cl.setExecutable( SVNADMIN_COMMAND_LINE );
 
         cl.setWorkingDirectory( repositoryRoot.getParentFile().getAbsolutePath() );
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/branch/SvnBranchCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/branch/SvnBranchCommandTckTest.java
index 3bf17dc..7ee6405 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/branch/SvnBranchCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/branch/SvnBranchCommandTckTest.java
@@ -33,12 +33,14 @@
 public class SvnBranchCommandTckTest
     extends BranchCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkin/SvnCheckInCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkin/SvnCheckInCommandTckTest.java
index 46f7991..33d6730 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkin/SvnCheckInCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkin/SvnCheckInCommandTckTest.java
@@ -31,12 +31,14 @@
 public class SvnCheckInCommandTckTest
     extends CheckInCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTckTest.java
index 5338d0f..766512b 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTckTest.java
@@ -31,12 +31,14 @@
 public class SvnCheckOutCommandTckTest
     extends CheckOutCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffCommandTckTest.java
index 370ef3a..399757d 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffCommandTckTest.java
@@ -31,12 +31,14 @@
 public class SvnDiffCommandTckTest
     extends DiffCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/list/SvnListCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/list/SvnListCommandTckTest.java
index 5c88cb5..090c0f2 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/list/SvnListCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/list/SvnListCommandTckTest.java
@@ -33,12 +33,14 @@
 public class SvnListCommandTckTest
     extends ListCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/status/SvnStatusCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/status/SvnStatusCommandTckTest.java
index 0739f3f..1886cf6 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/status/SvnStatusCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/status/SvnStatusCommandTckTest.java
@@ -31,12 +31,14 @@
 public class SvnStatusCommandTckTest
     extends StatusCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java
index e1d5730..e9502db 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java
@@ -33,12 +33,14 @@
 public class SvnTagCommandTckTest
     extends TagCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateCommandTckTest.java
index 96028eb..301fcff 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateCommandTckTest.java
@@ -31,12 +31,14 @@
 public class SvnUpdateCommandTckTest
     extends UpdateCommandTckTest
 {
+    /** {@inheritDoc} */
     public String getScmUrl()
         throws Exception
     {
         return SvnScmTestUtils.getScmUrl( new File( getRepositoryRoot(), "trunk" ) );
     }
 
+    /** {@inheritDoc} */
     public void initRepo()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/site/site.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/site/site.xml
new file mode 100644
index 0000000..edd3427
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/site/site.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM SVN Tests">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/maven-scm-providers-svn/pom.xml b/maven-scm-providers/maven-scm-providers-svn/pom.xml
index 620a317..1c853b4 100644
--- a/maven-scm-providers/maven-scm-providers-svn/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,16 +20,20 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm-providers</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers</artifactId>
     <version>1.1</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.1</version>
+  <description>SCM Provider implementation for SVN (http://subversion.tigris.org/).</description>
+
   <modules>
     <module>maven-scm-provider-svn-commons</module>
     <module>maven-scm-provider-svnexe</module>
diff --git a/maven-scm-providers/maven-scm-providers-svn/src/site/site.xml b/maven-scm-providers/maven-scm-providers-svn/src/site/site.xml
new file mode 100644
index 0000000..1f74871
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-svn/src/site/site.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM SVN Provider">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="modules" />
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-providers/pom.xml b/maven-scm-providers/pom.xml
index 6796179..e94250c 100644
--- a/maven-scm-providers/pom.xml
+++ b/maven-scm-providers/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,16 +20,20 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-providers</artifactId>
   <packaging>pom</packaging>
+
   <name>Maven SCM Providers</name>
-  <version>1.1</version>
+  <description>Parent for all SCM providers supported.</description>
+
   <modules>
     <module>maven-scm-provider-accurev</module>
     <module>maven-scm-provider-bazaar</module>
@@ -37,20 +43,23 @@
     <module>maven-scm-providers-git</module>
     <module>maven-scm-provider-local</module>
     <module>maven-scm-provider-perforce</module>
+    <module>maven-scm-providers-standard</module>
     <module>maven-scm-provider-starteam</module>
     <module>maven-scm-providers-svn</module>
     <module>maven-scm-provider-synergy</module>
     <module>maven-scm-provider-vss</module>
   </modules>
+
   <dependencyManagement>
     <dependencies>
       <dependency>
         <groupId>regexp</groupId>
         <artifactId>regexp</artifactId>
         <version>1.3</version>
-      </dependency>    
+      </dependency>
     </dependencies>
   </dependencyManagement>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
@@ -59,10 +68,10 @@
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-test</artifactId>
-      <version>1.1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
+
   <profiles>
     <profile>
       <id>default</id>
diff --git a/maven-scm-providers/src/site/site.xml b/maven-scm-providers/src/site/site.xml
new file mode 100644
index 0000000..caa6db0
--- /dev/null
+++ b/maven-scm-providers/src/site/site.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Providers">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="modules" />
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/maven-scm-site/pom.xml b/maven-scm-site/pom.xml
deleted file mode 100644
index 036dd5b..0000000
--- a/maven-scm-site/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
-  ~ 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.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <artifactId>maven-scm</artifactId>
-    <groupId>org.apache.maven.scm</groupId>
-    <version>1.1-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>maven-scm-site</artifactId>
-  <packaging>pom</packaging>
-  <name>Maven SCM</name>
-  <url>http://maven.apache.org/scm</url>
-  <inceptionYear>2001</inceptionYear>
-  <distributionManagement>
-    <site>
-      <id>apache.website</id>
-      <url>scpexe://people.apache.org/www/maven.apache.org/scm</url>
-    </site>
-  </distributionManagement>
-
-  <build>
-    <extensions>
-      <extension>
-        <groupId>org.apache.maven.wagon</groupId>
-        <artifactId>wagon-ssh-external</artifactId>
-        <version>1.0-alpha-5</version>
-      </extension>
-    </extensions>
-  </build>
-
-  <reporting>
-    <excludeDefaults>true</excludeDefaults>
-    <!-- TODO: disable dependencies -->
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-project-info-reports-plugin</artifactId>
-        <configuration>
-          <checkoutDirectoryName>maven-scm</checkoutDirectoryName>
-        </configuration>
-      </plugin>
-    </plugins>
-  </reporting>
-
-  <!-- repeated here so that maven-site is not appended -->
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/trunk/</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/trunk/</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/maven/scm/trunk/</url>
-  </scm>
-</project>
diff --git a/maven-scm-site/src/site/apt/accurev.apt b/maven-scm-site/src/site/apt/accurev.apt
deleted file mode 100644
index f7f423d..0000000
--- a/maven-scm-site/src/site/apt/accurev.apt
+++ /dev/null
@@ -1,19 +0,0 @@
- ------
- SCM Implementation: Accurev
- ------
- Olivier Lamy
- ------
- 2008-08-10
- ------
-
-SCM Implementation: Accurev
-
-* General Info
-
-    Link : {{http://www.accurev.com//}}
-
-    License : Commercial
-
-* SCM Url
-
-    TO COMPLETE
\ No newline at end of file
diff --git a/maven-scm-site/src/site/apt/bazaar.apt b/maven-scm-site/src/site/apt/bazaar.apt
deleted file mode 100644
index 10a90f9..0000000
--- a/maven-scm-site/src/site/apt/bazaar.apt
+++ /dev/null
@@ -1,42 +0,0 @@
- ------
- SCM Implementation: Bazaar
- ------
- Torbjørn Eikli Smørgrav
- ------
- 1 February 2006
- ------
-
-SCM Implementation: Bazaar
-
-* General Info
-
-    Link : {{http://bazaar-vcs.org/}}
-
-    License : GNU General Public License
-
-    "Bazaar-NG is a decentralized revision control system designed to be easy for developers
-    and end users alike. Decentralized revision control systems give people the ability to work
-    over the internet using the bazaar development model. When you use Bazaar-NG, you can commit
-    to your own branches of your favorite free software projects without needing special permission."
-
-    The provider supports Bazaar from version 0.7, though important features like sftp transport where
-    not included before version 0.8.
-
-* SCM Url
-
-    Path or url to the branch location.
-    Supported protocols: FTP, SFTP, AFTP, HTTP, HTTPS and FILE.
-
--------
-scm:bazaar:url_to_repository
--------
-
-* Examples
-
--------
-scm:bazaar:http://host/v3 (read only)
-scm:bazaar:sftp://username:password@host/~/dev/project/v3 (relativ path)
-scm:bazaar:sftp://host:port/home/smorgrav/dev/project/v3 (absolute path without explicit username)
-scm:bazaar:file://C:/dev/project/v3 (windows drive)
-scm:bazaar:file:///home/smorgrav/dev/project/v3 (linux drive)
--------
diff --git a/maven-scm-site/src/site/apt/git.apt b/maven-scm-site/src/site/apt/git.apt
deleted file mode 100644
index c7ba6d3..0000000
--- a/maven-scm-site/src/site/apt/git.apt
+++ /dev/null
@@ -1,49 +0,0 @@
- ------
- SCM Implementation: Git
- ------
- Olivier Lamy
- ------
- 2008-08-10
- ------
-
-SCM Implementation: Git
-
-* General Info
-
-    Link : {{http://git-scm.com/}}
-
-    License : GNU General Public License v2
-
-* SCM Url
-
-    For all URLs below, we use a colon (:) as separator. If you use a colon for one of the variables (e.g. a windows path), then use a pipe (|) as separator.
-
--------
-scm:git:git://server_name[:port]/path_to_repository
-scm:git:http://server_name[:port]/path_to_repository
-scm:git:https://server_name[:port]/path_to_repository
-scm:git:ssh://server_name[:port]/path_to_repository
-scm:git:file://[hostname]/path_to_repository
--------
-
-* Examples
-
--------
-scm:git:git://github.com/path_to_repository
-scm:git:http://github.com/path_to_repository
-scm:git:https://github.com/path_to_repository
-scm:git:ssh://github.com/path_to_repository
-scm:git:file://localhost/path_to_repository
--------
-
-* Provider Configuration
-
-  The provider configuration is defined in ${user.home}/.scm/git-settings.xml.
-
--------
-<git-settings>
-  <!-- will had the option --no-verify to the commit command can be helpfull to ignore trailing spaces issues with cygwin and the release plugin -->
-  <commitNoVerify>false</commitNoVerify>
-</git-settings>
--------
-
diff --git a/maven-scm-site/src/site/apt/guide/index.apt b/maven-scm-site/src/site/apt/guide/index.apt
deleted file mode 100644
index 1539a8e..0000000
--- a/maven-scm-site/src/site/apt/guide/index.apt
+++ /dev/null
@@ -1,17 +0,0 @@
- ------
- Guides
- ------
- Maven Team
- ------
- 12 March 2007
- ------
-
-Guides
-
-* {{{usage.html}How to use Maven-SCM in my application?}}
-
-  This {{{usage.html}document}} describe API usage for a SCM client.
-
-* {{{new_provider.html}How to write a new SCM provider?}}
-
-  This {{{new_provider.html}document}} describe step by step the implementation of a new SCM proviser.
diff --git a/maven-scm-site/src/site/apt/index.apt b/maven-scm-site/src/site/apt/index.apt
deleted file mode 100644
index a161fa9..0000000
--- a/maven-scm-site/src/site/apt/index.apt
+++ /dev/null
@@ -1,16 +0,0 @@
- ------
- Home
- ------
- Wim Deblauwe
- ------
- 1 December 2005
- ------
-
-Maven SCM
-
-  Maven SCM supports Maven 2.x plugins (e.g.
-  {{{http://maven.apache.org/plugins/maven-release-plugin/}maven-release-plugin}})
-  and other tools (e.g. {{{http://continuum.apache.org/}Continuum}})
-  by providing them with a common API for doing SCM operations. You can look at
-  {{{scms-overview.html}the list of SCM's}} for more information on using
-  Maven SCM with your favorite SCM tool.
diff --git a/maven-scm-site/src/site/apt/local.apt b/maven-scm-site/src/site/apt/local.apt
deleted file mode 100644
index aca2c37..0000000
--- a/maven-scm-site/src/site/apt/local.apt
+++ /dev/null
@@ -1,35 +0,0 @@
- ------
- SCM Implementation: File System
- ------
- Wim Deblauwe
- ------
- 1 December 2005
- ------
-
-SCM Implementation: File System
-
-* General Info
-
-    Link : -
-
-    License : -
-
-* SCM Url
-
-    For all URLs below, we use a colon (:) as separator. If you use a colon for one of the variables (e.g. a windows path), then use a pipe (|) as separator.
-
--------
-scm:local<delimiter>path_to_repository<delimiter>module_name
--------
-
-    <path_to_repository>: The absolute or relative path to the parent directory of your pom.xml
-    
-    <module_name>: The name of the directory that contains your pom.xml
-
-
-* Examples
-
--------
-scm:local:/usr/modules:my_module
-scm:local|C:/javaprojects|my_module
--------
diff --git a/maven-scm-site/src/site/apt/mercurial.apt b/maven-scm-site/src/site/apt/mercurial.apt
deleted file mode 100644
index 42f8e5a..0000000
--- a/maven-scm-site/src/site/apt/mercurial.apt
+++ /dev/null
@@ -1,37 +0,0 @@
- ------
- SCM Implementation: Mercurial (hg)
- ------
- Ryan Daum
- ------
- 12 April 2007
- ------
-
-SCM Implementation: Mercurial
-
-* General Info
-
-    Link : {{http://www.selenic.com/mercurial/wiki/}}
-
-    License : GNU General Public License
-
-    "Mercurial: a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects."
-
-    This provider supports version 0.9.2 and greater of Mercurial.
-
-* SCM Url
-
-    Path or url to the branch location.
-    Supported protocols: HTTP, HTTPS, FILE, and local path.
-
--------
-scm:hg:url_to_repository/local_repository_directory
--------
-
-* Examples
-
--------
-scm:hg:http://host/v3
-scm:hg:file://C:/dev/project/v3 (windows drive)
-scm:hg:file:///home/smorgrav/dev/project/v3 (linux drive)
-scm:hg:/home/smorgrav/dev/project/v3 (local directory)
--------
diff --git a/maven-scm-site/src/site/apt/scm-url-format.apt b/maven-scm-site/src/site/apt/scm-url-format.apt
deleted file mode 100644
index c438c12..0000000
--- a/maven-scm-site/src/site/apt/scm-url-format.apt
+++ /dev/null
@@ -1,23 +0,0 @@
- ------
- SCM URL format
- ------
- Emmanuel Venisse
- ------
- 28 June 2005
- ------
-
-SCM URL Format
-
-* SCM Url
-
-  The general format for a SCM Url is
-
--------
-scm:<scm_provider><delimiter><provider_specific_part>
--------
-
-  As delimiter you can use either colon ':' or, if you use a colon for one
-  of the variables (e.g. a windows path), you can use a pipe '|'.
-
-  For information about the provider specific part, see the appropriate
-  {{{scms-overview.html}SCM implementation}}.
diff --git a/maven-scm-site/src/site/apt/scms-overview.apt b/maven-scm-site/src/site/apt/scms-overview.apt
deleted file mode 100644
index 4b9e468..0000000
--- a/maven-scm-site/src/site/apt/scms-overview.apt
+++ /dev/null
@@ -1,69 +0,0 @@
- ------
- Overview of SCM's
- ------
- Wim Deblauwe
- ------
- 1 December 2005
- ------
-
-Overview of SCM's
-
-  Maven SCM supports many SCM's. This is a list of all currently known SCM's:
-
-* Fully implemented SCM's
-
-  * {{{bazaar.html}Bazaar}}
-
-  * {{{cvs.html}CVS}}
-
-  * {{{mercurial.html}Mercurial}}
-
-  * {{{perforce.html}Perforce}}
-
-  * {{{starteam.html}StarTeam}}
-
-  * {{{subversion.html}Subversion}}
-
-  * {{{synergy.html}CM Synergy}}
-
-* Partially implemented SCM's
-
-  * {{{accurev.html}Accurev}}
-
-  * {{{clearcase.html}ClearCase}}
-  
-  * {{{git.html}Git}}
-
-  * {{{local.html}File system}}
-
-  * {{{vss.html}Visual Source Safe}}
-
-* Not implemented SCM's
-
-    This is a list of all the known SCM's that are not implemented currently.
-
-  * Aegis
-
-  * Arch
-
-  * BitKeeper
-
-  * ClearCase Multisite
-
-  * Code Co-op
-
-  * Darcs
-
-  * Monotone
-
-  * OpenCM
-
-  * PureCM
-
-  * Serena PVCS / Dimension
-
-  * Starteam Enterprise
-
-  * Svk
-
-  * Vesta
diff --git a/maven-scm-site/src/site/apt/scmtools.apt b/maven-scm-site/src/site/apt/scmtools.apt
deleted file mode 100644
index 1436ab4..0000000
--- a/maven-scm-site/src/site/apt/scmtools.apt
+++ /dev/null
@@ -1,183 +0,0 @@
- ------
- SCM tools
- ------
- Emmanuel Venisse
- ------
-
-Accurev
-
-    Link : {{http://www.accurev.com/}}
-
-    License : Commercial
-
-Aegis
-
-    Link : {{http://aegis.sourceforge.net/}}
-
-    License : GPL
-
-Arch
-
-    Link : {{http://www.gnu.org/software/gnu-arch/}}
-
-    License : GPL
-
-BitKeeper
-
-    Link : {{http://www.bitkeeper.com/}}
-
-    License : Commercial
-
-Bazaar
-
-    Link : {{http://bazaar.canonical.com/}}
-
-    License : GPL
-
-    Status : <<Started>>
-
-Clearcase
-
-    Link : {{http://www-306.ibm.com/software/awdtools/clearcase/}}
-
-    License : Commercial
-
-    Status : <<Started>>
-
-Clearcase Multisite
-
-    Link : {{http://www-306.ibm.com/software/awdtools/clearcase/multisite/}}
-
-    License : Commercial
-
-CM Synergy
-
-    Link : {{http://www.telelogic.com/products/synergy/}}
-
-    License : Commercial
-
-    Status : <<Started>>
-
-Code Co-op
-
-    Link : {{http://www.relisoft.com/co_op/}}
-
-    License : Commercial
-
-CVS
-
-    Link : {{https://www.cvshome.org/}}
-
-    License : GPL
-
-* Implementation 1 : command line
-
-    Status : <<Started>>
-
-* Implementation 2 : pure java with cvslib
-
-    Status : <<Started>>
-
-Darcs
-
-    Link : {{http://abridgegame.org/darcs/}}
-
-    License : GPL
-
-File system
-
-    Link : None
-
-    License : None
-
-    Status : <<Started>>
-
-Mercurial
-
-    Link : {{http://www.selenic.com/mercurial/wiki/}}
-
-    License : GPL
-
-    Status : <<Started>>
-
-Monotone
-
-    Link : {{http://www.venge.net/monotone/}}
-
-    License : GPL
-
-OpenCM
-
-    Link : {{http://www.opencm.org/}}
-
-    License : GPL
-
-Perforce
-
-    Link : {{http://www.perforce.com/}}
-
-    License : Commercial
-
-    It is licensed at no charge for use on open source projects.
-
-    Status : <<Started>>
-
-PureCM
-
-    Link : {{http://www.purecm.com/}}
-
-    License : Commercial
-
-Serena PVCS / Dimension
-
-    Link : {{http://www.serena.com/Products/dimensions/home.asp}} {{http://www.synergex.com/solutions/pvcs/default.asp}}
-
-    License : Commercial
-
-Starteam
-
-    Link : {{http://www.borland.com/us/products/starteam/index.html}}
-
-    License : Commercial
-
-    Status : <<Started>>
-
-Starteam Enterprise
-
-    Link : {{http://www.borland.com/us/products/starteam/index.html}}
-
-    License : Commercial
-
-Subversion
-
-    Link : {{http://subversion.tigris.org/}}
-
-    License : CollabNet/Tigris.org Apache-style license
-
-* Implementation 1 : command line
-
-    Status : <<Started>>
-
-* Implementation 2 : pure java with {{{http://tmate.org/svn/}javasvn}}
-
-Svk
-
-    Link : {{http://svk.elixus.org/}}
-
-    License : ???
-
-Vesta
-
-    Link : {{http://www.vestasys.org/}}
-
-    License : LGPL
-
-Visual Source Safe
-
-    Link : {{http://msdn.microsoft.com/ssafe/}}
-
-    License : Commercial
-
-    Status : <<Started>>
-
-
diff --git a/maven-scm-site/src/site/apt/vss.apt b/maven-scm-site/src/site/apt/vss.apt
deleted file mode 100644
index c2cd70a..0000000
--- a/maven-scm-site/src/site/apt/vss.apt
+++ /dev/null
@@ -1,35 +0,0 @@
- ------
- SCM Implementation: Visual Source Safe
- ------
- Wim Deblauwe
- ------
- 1 December 2005
- ------
-
-SCM Implementation: Visual Source Safe
-
-* General Info
-
-    Link : {{http://msdn.microsoft.com/ssafe/}}
-
-    License : Commercial
-
-* SCM Url
-
-    Because a colon is used for one of the variables (a windows path), a pipe (|) is used as the delimiter.
-
-    The general format for a VSS SCM Url is
-
--------
-scm:vss|path_to_repository|/module_name
--------
-
-    The third variable is the path to the Visual Source Safe repository (where srcsafe.ini resides).
-
-    Note that a forward slash is necessary before the module name in the final variable.
-
-* Examples
-
--------
-scm:vss|C:\Program Files\Microsoft Visual Studio\VSS|/SomeProject
--------
diff --git a/maven-scm-test/pom.xml b/maven-scm-test/pom.xml
index 9aefc98..f4c26c0 100644
--- a/maven-scm-test/pom.xml
+++ b/maven-scm-test/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,15 +20,19 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
-    <artifactId>maven-scm</artifactId>
     <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm</artifactId>
     <version>1.1</version>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <artifactId>maven-scm-test</artifactId>
+
   <name>Maven SCM Test</name>
-  <version>1.1</version>
+  <description>Tests library to test all SCM Provider implementations.</description>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
index 2c582c7..69dc830 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
@@ -42,6 +42,7 @@
  * </p>
  *
  * @author <a href="mailto:torbjorn@smorgrav.org">Torbj�rn Eikli Sm�rgrav</a>
+ * @version $Id$
  */
 public abstract class ScmTckTestCase
     extends ScmTestCase
@@ -86,6 +87,7 @@
     public abstract void initRepo()
         throws Exception;
 
+    /** {@inheritDoc} */
     protected void setUp()
         throws Exception
     {
@@ -151,7 +153,7 @@
 
         List addedFiles = result.getAddedFiles();
 
-        if ( new File( workingDirectory, file.getPath()).isFile() )
+        if ( new File( workingDirectory, file.getPath() ).isFile() )
         {
             // Don't check directory add because some SCM tools ignore it
             assertEquals( "Expected 1 file in the added files list " + addedFiles, 1, addedFiles.size() );
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 7f47593..157e077 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
@@ -206,6 +206,16 @@
         ScmTestCase.debugExecute = debugExecute;
     }
 
+    /**
+     * Execute the command line
+     *
+     * @param workingDirectory not null
+     * @param executable not null, should be a system command
+     * @param arguments not null
+     * @throws Exception if any
+     * @see CommandLineUtils#executeCommandLine(Commandline, org.codehaus.plexus.util.cli.StreamConsumer,
+     * org.codehaus.plexus.util.cli.StreamConsumer)
+     */
     public static void execute( File workingDirectory, String executable, String arguments )
         throws Exception
     {
@@ -316,4 +326,23 @@
         }
         assertEquals( cl.toString(), actualCommand.toString() );
     }
+
+    /**
+     *
+     * @param cmd the executable to run, not null.
+     * @return <code>true</code>
+     */
+    public static boolean isSystemCmd( String cmd )
+    {
+        try
+        {
+            Runtime.getRuntime().exec( cmd );
+
+            return true;
+        }
+        catch ( IOException e )
+        {
+            return false;
+        }
+    }
 }
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java b/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java
index d9236f7..5286fda 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/manager/ScmManagerStub.java
@@ -50,7 +50,8 @@
 import java.util.List;
 
 /**
- * Stub implementation of ScmManager for unit testing purposes. It allows setting the expected results that the different methods will return.
+ * Stub implementation of ScmManager for unit testing purposes. 
+ * It allows setting the expected results that the different methods will return.
  * More information about Stubs on <a href="http://martinfowler.com/bliki/TestDouble.html">Martin Fowler's TestDouble</a>
  *
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
@@ -86,11 +87,13 @@
         return scmProvider;
     }
 
+    /** {@inheritDoc} */
     public void setScmProvider( String providerType, ScmProvider provider )
     {
         setScmProvider( provider );
     }
 
+    /** {@inheritDoc} */
     public void setScmProviderImplementation( String providerType, String providerImplementation )
     {
         //Do nothing there
@@ -126,18 +129,14 @@
         return messages;
     }
 
-    /**
-     * @return getScmRepository()
-     */
+    /** {@inheritDoc} */
     public ScmRepository makeScmRepository( String scmUrl )
         throws ScmRepositoryException, NoSuchScmProviderException
     {
         return getScmRepository();
     }
 
-    /**
-     * @return getScmRepository()
-     */
+    /** {@inheritDoc} */
     public ScmRepository makeProviderScmRepository( String providerType, File path )
         throws ScmRepositoryException, UnknownRepositoryStructure, NoSuchScmProviderException
     {
@@ -155,72 +154,56 @@
         return getMessages();
     }
 
-    /**
-     * @return getScmProvider()
-     */
+    /** {@inheritDoc} */
     public ScmProvider getProviderByUrl( String scmUrl )
         throws ScmRepositoryException, NoSuchScmProviderException
     {
         return getScmProvider();
     }
 
-    /**
-     * @return getScmProvider()
-     */
+    /** {@inheritDoc} */
     public ScmProvider getProviderByType( String providerType )
         throws NoSuchScmProviderException
     {
         return getScmProvider();
     }
 
-    /**
-     * @return getScmProvider()
-     */
+    /** {@inheritDoc} */
     public ScmProvider getProviderByRepository( ScmRepository repository )
         throws NoSuchScmProviderException
     {
         return getScmProvider();
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).add( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).add( repository, fileSet, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).branch( repository, fileSet, branchName );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).branch( repository, fileSet, branchName, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch )
         throws ScmException
@@ -229,9 +212,7 @@
                                                                      branch );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch, String datePattern )
         throws ScmException
@@ -240,9 +221,7 @@
                                                                      branch, datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                          ScmVersion endVersion )
         throws ScmException
@@ -250,9 +229,7 @@
         return this.getProviderByRepository( repository ).changeLog( repository, fileSet, startVersion, endVersion );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
                                          ScmVersion endRevision, String datePattern )
         throws ScmException
@@ -261,54 +238,42 @@
                                                                      datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkIn( repository, fileSet, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkIn( repository, fileSet, revision, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, boolean recursive )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet, recursive );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                        boolean recursive )
         throws ScmException
@@ -316,9 +281,7 @@
         return this.getProviderByRepository( repository ).checkOut( repository, fileSet, version, recursive );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                ScmVersion endVersion )
         throws ScmException
@@ -326,45 +289,35 @@
         return this.getProviderByRepository( repository ).diff( repository, fileSet, startVersion, endVersion );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).edit( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).export( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).export( repository, fileSet, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String outputDirectory )
         throws ScmException
     {
         return this.export( repository, fileSet, outputDirectory );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    String outputDirectory )
         throws ScmException
@@ -372,90 +325,70 @@
         return this.getProviderByRepository( repository ).export( repository, fileSet, version, outputDirectory );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).list( repository, fileSet, recursive, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).remove( repository, fileSet, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).status( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).tag( repository, fileSet, tagName );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName, String message )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).tag( repository, fileSet, tagName, message );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).unedit( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, version );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, runChangelog );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    boolean runChangelog )
         throws ScmException
@@ -463,18 +396,14 @@
         return this.getProviderByRepository( repository ).update( repository, fileSet, version, runChangelog );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String datePattern )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, (ScmVersion) null, datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    String datePattern )
         throws ScmException
@@ -482,27 +411,21 @@
         return this.getProviderByRepository( repository ).update( repository, fileSet, version, datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, Date lastUpdate )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, (ScmVersion) null, lastUpdate );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
         throws ScmException
     {
         return this.getProviderByRepository( repository ).update( repository, fileSet, version, lastUpdate );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, Date lastUpdate, String datePattern )
         throws ScmException
     {
@@ -510,9 +433,7 @@
                                                                   datePattern );
     }
 
-    /**
-     *
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
                                    String datePattern )
         throws ScmException
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderRepositoryStub.java b/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderRepositoryStub.java
index b0276a0..ccd7f42 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderRepositoryStub.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderRepositoryStub.java
@@ -39,11 +39,13 @@
     {
     }
 
+    /** {@inheritDoc} */
     public boolean isPersistCheckout()
     {
         return persistCheckout;
     }
 
+    /** {@inheritDoc} */
     public void setPersistCheckout( boolean persistCheckout )
     {
         this.persistCheckout = persistCheckout;
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java b/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
index 87f4e1f..0aa0220 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
@@ -49,7 +49,8 @@
 import java.util.List;
 
 /**
- * Stub implementation of ScmProvider for unit testing purposes. It allows setting the expected results that the different methods will return.
+ * Stub implementation of ScmProvider for unit testing purposes. 
+ * It allows setting the expected results that the different methods will return.
  * More information about Stubs on <a href="http://martinfowler.com/bliki/TestDouble.html">Martin Fowler's TestDouble</a>
  *
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
@@ -118,16 +119,19 @@
         setUpdateScmResult( new UpdateScmResult( "", "", "", true ) );
     }
 
+    /** {@inheritDoc} */
     public String sanitizeTagName( String tag )
     {
         return tag;
     }
 
+    /** {@inheritDoc} */
     public boolean validateTagName( String tag )
     {
         return true;
     }
 
+    /** {@inheritDoc} */
     public String getScmType()
     {
         return scmType;
@@ -138,6 +142,7 @@
         this.scmSpecificFilename = scmSpecificFilename;
     }
 
+    /** {@inheritDoc} */
     public void addListener( ScmLogger logger )
     {
         loggers.add( logger );
@@ -288,79 +293,61 @@
         return listScmResult;
     }
 
-    /**
-     * @return scmProviderRepository always
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
         throws ScmRepositoryException
     {
         return scmProviderRepository;
     }
 
-    /**
-     * @return scmProviderRepository always
-     */
+    /** {@inheritDoc} */
     public ScmProviderRepository makeProviderScmRepository( File path )
         throws ScmRepositoryException, UnknownRepositoryStructure
     {
         return scmProviderRepository;
     }
 
-    /**
-     * @return errors always
-     */
+    /** {@inheritDoc} */
     public List validateScmUrl( String scmSpecificUrl, char delimiter )
     {
         return errors;
     }
 
-    /**
-     * @return scmSpecificFilename
-     */
+    /** {@inheritDoc} */
     public String getScmSpecificFilename()
     {
         return scmSpecificFilename;
     }
 
-    /**
-     * @return getAddScmResult() always
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return getAddScmResult();
     }
 
-    /**
-     * @return getAddScmResult() always
-     */
+    /** {@inheritDoc} */
     public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return getAddScmResult();
     }
 
-    /**
-     * @return getBranchScmResult() always
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName )
         throws ScmException
     {
         return getBranchScmResult();
     }
 
-    /**
-     * @return getBranchScmResult() always
-     */
+    /** {@inheritDoc} */
     public BranchScmResult branch( ScmRepository repository, ScmFileSet fileSet, String branchName, String message )
         throws ScmException
     {
         return getBranchScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, String branch )
         throws ScmException
@@ -368,9 +355,7 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, String branch, String datePattern )
         throws ScmException
@@ -378,18 +363,14 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag )
         throws ScmException
     {
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag,
                                          String datePattern )
         throws ScmException
@@ -397,9 +378,7 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch )
         throws ScmException
@@ -407,9 +386,7 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
                                          int numDays, ScmBranch branch, String datePattern )
         throws ScmException
@@ -417,9 +394,7 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
                                          ScmVersion endVersion )
         throws ScmException
@@ -427,9 +402,7 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getChangeLogScmResult() always
-     */
+    /** {@inheritDoc} */
     public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision,
                                          ScmVersion endRevision, String datePattern )
         throws ScmException
@@ -437,33 +410,28 @@
         return getChangeLogScmResult();
     }
 
-    /**
-     * @return getCheckInScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
         return getCheckInScmResult();
     }
 
-    /**
-     * @return getCheckInScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return getCheckInScmResult();
     }
 
-    /**
-     * @return getCheckInScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message )
         throws ScmException
     {
         return getCheckInScmResult();
     }
 
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, String tag,
                                        boolean recursive )
         throws ScmException
@@ -471,45 +439,35 @@
         return getCheckOutScmResult();
     }
 
-    /**
-     * @return getCheckOutScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException
     {
         return getCheckOutScmResult();
     }
 
-    /**
-     * @return getCheckOutScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return getCheckOutScmResult();
     }
 
-    /**
-     * @return getCheckOutScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return getCheckOutScmResult();
     }
 
-    /**
-     * @return getCheckOutScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, boolean recursive )
         throws ScmException
     {
         return getCheckOutScmResult();
     }
 
-    /**
-     * @return getCheckOutScmResult() always
-     */
+    /** {@inheritDoc} */
     public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version,
                                        boolean recursive )
         throws ScmException
@@ -517,18 +475,14 @@
         return getCheckOutScmResult();
     }
 
-    /**
-     * @return getDiffScmResult() always
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision )
         throws ScmException
     {
         return getDiffScmResult();
     }
 
-    /**
-     * @return getDiffScmResult() always
-     */
+    /** {@inheritDoc} */
     public DiffScmResult diff( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion,
                                ScmVersion endVersion )
         throws ScmException
@@ -546,54 +500,42 @@
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getEditScmResult() always
-     */
+    /** {@inheritDoc} */
     public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return getEditScmResult();
     }
 
-    /**
-     * @return getExportScmResult() always
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException
     {
         return getExportScmResult();
     }
 
-    /**
-     * @return getExportScmResult() always
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory )
         throws ScmException
     {
         return getExportScmResult();
     }
 
-    /**
-     * @return getExportScmResult() always
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return getExportScmResult();
     }
 
-    /**
-     * @return getExportScmResult() always
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return getExportScmResult();
     }
 
-    /**
-     * @return getExportScmResult() always
-     */
+    /** {@inheritDoc} */
     public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    String outputDirectory )
         throws ScmException
@@ -601,99 +543,77 @@
         return getExportScmResult();
     }
 
-    /**
-     * @return {@link #getListScmResult()} always
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
         throws ScmException
     {
         return getListScmResult();
     }
 
-    /**
-     * @return {@link #getListScmResult()} always
-     */
+    /** {@inheritDoc} */
     public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version )
         throws ScmException
     {
         return getListScmResult();
     }
 
-    /**
-     * @return getRemoveScmResult() always
-     */
+    /** {@inheritDoc} */
     public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message )
         throws ScmException
     {
         return getRemoveScmResult();
     }
 
-    /**
-     * @return getStatusScmResult() always
-     */
+    /** {@inheritDoc} */
     public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return getStatusScmResult();
     }
 
-    /**
-     * @return getTagScmResult() always
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException
     {
         return getTagScmResult();
     }
 
-    /**
-     * @return getTagScmResult() always
-     */
+    /** {@inheritDoc} */
     public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {
         return getTagScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
                                    String datePattern )
         throws ScmException
@@ -701,36 +621,28 @@
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, boolean runChangelog )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    boolean runChangelog )
         throws ScmException
@@ -738,9 +650,7 @@
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version,
                                    String datePattern )
         throws ScmException
@@ -748,18 +658,14 @@
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate )
         throws ScmException
     {
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUpdateScmResult() always
-     */
+    /** {@inheritDoc} */
     public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate,
                                    String datePattern )
         throws ScmException
@@ -767,9 +673,7 @@
         return getUpdateScmResult();
     }
 
-    /**
-     * @return getUnEditScmResult() always
-     */
+    /** {@inheritDoc} */
     public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
index 9b7317e..68ff144 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
@@ -44,7 +44,7 @@
 public abstract class ChangeLogCommandTckTest
     extends ScmTckTestCase
 {
-    private final static String COMMIT_MSG = "Second changelog";
+    private static final String COMMIT_MSG = "Second changelog";
 
     public void testChangeLogCommand()
         throws Exception
@@ -76,7 +76,8 @@
 
         //Now only retrieve the changelog after timeBeforeSecondChangeLog
         Date currentTime = new Date();
-        result = provider.changeLog( getScmRepository(), fileSet, timeBeforeSecond, currentTime, 0, "" );
+        result = provider
+            .changeLog( getScmRepository(), fileSet, timeBeforeSecond, currentTime, 0, new ScmBranch( "" ) );
 
         //Thorough assert of the last result
         assertTrue( result.isSuccess() );
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
index 4872887..81039f9 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
@@ -76,8 +76,8 @@
 
         ListScmResult result = provider.list( getScmRepository(), fileSet, recursive, (ScmVersion) null );
 
-        assertTrue( "SCM command failed: " + result.getCommandLine() + " : " + result.getProviderMessage() +
-            ( result.getCommandOutput() == null ? "" : ": " + result.getCommandOutput() ), result.isSuccess() );
+        assertTrue( "SCM command failed: " + result.getCommandLine() + " : " + result.getProviderMessage()
+            + ( result.getCommandOutput() == null ? "" : ": " + result.getCommandOutput() ), result.isSuccess() );
 
         return result.getFiles();
     }
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
index 6a7490f..8da25db 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
@@ -19,25 +19,24 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.TreeSet;
+
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.ScmTestCase;
-import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.StringUtils;
 
-import java.io.File;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.TreeSet;
-
 /**
  * This test tests the update command.
  * <p/>
diff --git a/maven-scm-test/src/site/site.xml b/maven-scm-test/src/site/site.xml
new file mode 100644
index 0000000..d6fdbc5
--- /dev/null
+++ b/maven-scm-test/src/site/site.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ 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.
+  -->
+
+<project name="Maven SCM Tests">
+  <body>
+    <menu ref="parent" />
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+    </menu>
+
+    <menu ref="modules" />
+
+    <menu ref="reports" inherit="bottom" />
+  </body>
+</project>
diff --git a/pom.xml b/pom.xml
index 56bb125..80fb6b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
   ~ 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
@@ -18,23 +20,25 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
   <parent>
     <groupId>org.apache.maven</groupId>
     <artifactId>maven-parent</artifactId>
     <version>8</version>
     <relativePath>../pom/maven/pom.xml</relativePath>
   </parent>
-  <modelVersion>4.0.0</modelVersion>
+
   <groupId>org.apache.maven.scm</groupId>
   <artifactId>maven-scm</artifactId>
-  <packaging>pom</packaging>
-  <name>Maven SCM</name>
   <version>1.1</version>
-  <issueManagement>
-    <system>jira</system>
-    <url>http://jira.codehaus.org/browse/SCM</url>
-  </issueManagement>
+  <packaging>pom</packaging>
+
+  <name>Maven SCM</name>
+  <description>Maven SCM provides a common API for doing SCM operations.</description>
+  <url>http://maven.apache.org/scm/</url>
   <inceptionYear>2003</inceptionYear>
+
   <mailingLists>
     <mailingList>
       <name>SCM Developer List</name>
@@ -69,52 +73,40 @@
       </otherArchives>
     </mailingList>
   </mailingLists>
-  <scm>
-    <connection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</developerConnection>
-    <url>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</url>
-  </scm>
+
   <prerequisites>
     <maven>2.0.6</maven>
   </prerequisites>
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <artifactId>maven-release-plugin</artifactId>
-          <configuration>
-            <tagBase>https://svn.apache.org/repos/asf/maven/scm/tags</tagBase>
-          </configuration>
-        </plugin>
-        <!-- remove when upgrading to released paren 9 -->
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>2.0-beta-7</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-maven-plugin</artifactId>
-          <version>1.3.4</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
+
   <modules>
-  
     <module>maven-scm-api</module>
     <module>maven-scm-managers</module>
     <module>maven-scm-test</module>
     <module>maven-scm-providers</module>
     <module>maven-scm-client</module>
-    <module>maven-scm-plugin</module>    
-    
+    <module>maven-scm-plugin</module>
   </modules>
+
+  <scm>
+    <connection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</developerConnection>
+    <url>scm:svn:https://svn.apache.org/repos/asf/maven/scm/tags/maven-scm-1.1</url>
+  </scm>
+  <issueManagement>
+    <system>jira</system>
+    <url>http://jira.codehaus.org/browse/SCM</url>
+  </issueManagement>
+  <distributionManagement>
+    <site>
+      <id>apache.website</id>
+      <url>scp://people.apache.org/www/maven.apache.org/scm/</url>
+    </site>
+  </distributionManagement>
+
   <dependencies>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.5.6</version>
     </dependency>
   </dependencies>
 
@@ -131,93 +123,409 @@
         <version>1.1</version>
       </dependency>
 
-    <!-- providers declaration -->
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-accurev</artifactId>
-      <version>1.1</version>
-    </dependency>     
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-bazaar</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-clearcase</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvsexe</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-cvsjava</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-gitexe</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-hg</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-local</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-perforce</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-starteam</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-svnexe</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-synergy</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.scm</groupId>
-      <artifactId>maven-scm-provider-vss</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <!-- end providers declaration -->      
-      
-    </dependencies>  
-          
+      <!-- providers declaration -->
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-accurev</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-bazaar</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-clearcase</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-cvs-commons</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-cvsexe</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-cvsjava</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-git-commons</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-gitexe</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-hg</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-local</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-perforce</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-starteam</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-svn-commons</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-svnexe</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-synergy</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-vss</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <!-- end providers declaration -->
+
+      <!-- Plexus -->
+      <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-container-default</artifactId>
+        <version>1.0-alpha-9</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-utils</artifactId>
+        <version>1.5.6</version>
+      </dependency>
+
+      <!-- Test -->
+      <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit</artifactId>
+        <version>3.8.2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-svntest</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-test</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-cvstest</artifactId>
+        <version>1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.scm</groupId>
+        <artifactId>maven-scm-provider-gittest</artifactId>
+        <version>1.1</version>
+      </dependency>
+    </dependencies>
   </dependencyManagement>
-  
-  <distributionManagement>
-    <site>
-      <id>apache.website</id>
-      <url>scp://people.apache.org/www/maven.apache.org/scm/projects/</url>
-    </site>
-  </distributionManagement>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>2.0-beta-7</version>
+          <configuration>
+            <tagBase>https://svn.apache.org/repos/asf/maven/scm/tags</tagBase>
+          </configuration>
+        </plugin>
+        <!-- TODO: remove when maven parent pom 9 is released -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>2.0-beta-7</version>
+          <configuration>
+            <stagingSiteURL>scp://people.apache.org/www/maven.apache.org/scm/${project.artifactId}-${project.version}</stagingSiteURL>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-maven-plugin</artifactId>
+          <version>1.3.8</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>2.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+          <configuration>
+            <source>1.4</source>
+            <target>1.4</target>
+            <encoding>${project.build.sourceEncoding}</encoding>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-gpg-plugin</artifactId>
+          <version>1.0-alpha-4</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.2</version>
+          <configuration>
+            <archive>
+              <manifest>
+                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              </manifest>
+            </archive>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>2.4</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-plugin-plugin</artifactId>
+          <version>2.4.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>2.0.4</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.3</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>clirr-maven-plugin</artifactId>
+          <version>2.2.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.modello</groupId>
+          <artifactId>modello-maven-plugin</artifactId>
+          <version>1.0-alpha-21</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+    <!-- TODO: remove when maven parent pom 9 is released -->
+    <plugins>
+      <!-- We want to package up license resources in the JARs produced -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>process</goal>
+            </goals>
+            <configuration>
+              <resourceBundles>
+                <resourceBundle>org.apache:apache-jar-resource-bundle:1.3</resourceBundle>
+              </resourceBundles>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
   <reporting>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <configuration>
-          <aggregate>true</aggregate>
-        </configuration>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>2.1</version>
       </plugin>
     </plugins>
   </reporting>
+
+  <!-- TODO: remove when maven parent pom 9 is released -->
+  <profiles>
+    <profile>
+      <id>reporting</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>cobertura-maven-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>clean</phase>
+                <goals>
+                  <goal>clean</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-project-info-reports-plugin</artifactId>
+            <version>2.1</version>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-report-plugin</artifactId>
+            <version>2.4.3</version>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-checkstyle-plugin</artifactId>
+            <version>2.2</version>
+            <configuration>
+              <configLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml</configLocation>
+              <headerLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt</headerLocation>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-pmd-plugin</artifactId>
+            <version>2.4</version>
+            <configuration>
+              <excludeRoots>
+                <excludeRoot>${project.build.directory}/generated-sources/modello</excludeRoot>
+                <excludeRoot>${project.build.directory}/generated-sources/plugin</excludeRoot>
+              </excludeRoots>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>cobertura-maven-plugin</artifactId>
+            <version>2.2</version>
+          </plugin>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>taglist-maven-plugin</artifactId>
+            <version>2.2</version>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jxr-plugin</artifactId>
+            <version>2.1</version>
+            <configuration>
+              <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.4</version>
+            <configuration>
+              <encoding>${project.build.sourceEncoding}</encoding>
+              <links>
+                <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
+                <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+                <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+                <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
+                <link>http://commons.apache.org/dbcp/apidocs/</link>
+                <link>http://commons.apache.org/fileupload/apidocs/</link>
+                <link>http://commons.apache.org/httpclient/apidocs/</link>
+                <link>http://commons.apache.org/logging/apidocs/</link>
+                <link>http://commons.apache.org/pool/apidocs/</link>
+                <link>http://junit.sourceforge.net/javadoc/</link>
+                <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
+                <link>http://jakarta.apache.org/regexp/apidocs/</link>
+                <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
+              </links>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>clirr-maven-plugin</artifactId>
+            <version>2.2.2</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+
+    <profile>
+      <id>reporting-aggregate</id>
+      <modules />
+      <!-- To generate aggregate reports -->
+      <!-- To deploy both aggregate reports for top-level project and standalone reports for modules, call
+           mvn site -Preporting
+           mvn site:deploy
+           mvn site -Preporting-aggregate
+           mvn -N site:deploy
+      -->
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jxr-plugin</artifactId>
+            <version>2.1</version>
+            <configuration>
+              <aggregate>true</aggregate>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.4</version>
+            <configuration>
+              <links>
+                <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
+                <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+                <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+                <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
+                <link>http://commons.apache.org/dbcp/apidocs/</link>
+                <link>http://commons.apache.org/fileupload/apidocs/</link>
+                <link>http://commons.apache.org/httpclient/apidocs/</link>
+                <link>http://commons.apache.org/logging/apidocs/</link>
+                <link>http://commons.apache.org/pool/apidocs/</link>
+                <link>http://junit.sourceforge.net/javadoc/</link>
+                <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
+                <link>http://jakarta.apache.org/regexp/apidocs/</link>
+                <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
+              </links>
+              <aggregate>true</aggregate>
+            </configuration>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+  </profiles>
 </project>
diff --git a/src/site/apt/accurev.apt b/src/site/apt/accurev.apt
new file mode 100644
index 0000000..0275734
--- /dev/null
+++ b/src/site/apt/accurev.apt
@@ -0,0 +1,41 @@
+ ------
+ SCM Implementation: Accurev
+ ------
+ Olivier Lamy
+ ------
+ 2008-08-10
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM Implementation: Accurev
+
+* General Info
+
+    Link : {{http://www.accurev.com//}}
+
+    License : Commercial
+
+* SCM Url
+
+-------
+scm:accurev:server:port/depot/my_app/
+-------
\ No newline at end of file
diff --git a/src/site/apt/bazaar.apt b/src/site/apt/bazaar.apt
new file mode 100644
index 0000000..2994ae5
--- /dev/null
+++ b/src/site/apt/bazaar.apt
@@ -0,0 +1,62 @@
+ ------
+ SCM Implementation: Bazaar
+ ------
+ Torbj�rn Eikli Sm�rgrav
+ ------
+ 2006-02-01
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM Implementation: Bazaar
+
+* General Info
+
+    Link : {{http://bazaar-vcs.org/}}
+
+    License : GNU General Public License
+
+    "Bazaar-NG is a decentralized revision control system designed to be easy for developers
+    and end users alike. Decentralized revision control systems give people the ability to work
+    over the internet using the bazaar development model. When you use Bazaar-NG, you can commit
+    to your own branches of your favorite free software projects without needing special permission."
+
+    The provider supports Bazaar from version 0.7, though important features like sftp transport where
+    not included before version 0.8.
+
+* SCM Url
+
+    Path or url to the branch location.
+    Supported protocols: FTP, SFTP, AFTP, HTTP, HTTPS and FILE.
+
+-------
+scm:bazaar:url_to_repository
+-------
+
+* Examples
+
+-------
+scm:bazaar:http://host/v3 (read only)
+scm:bazaar:sftp://username:password@host/~/dev/project/v3 (relativ path)
+scm:bazaar:sftp://host:port/home/smorgrav/dev/project/v3 (absolute path without explicit username)
+scm:bazaar:file://C:/dev/project/v3 (windows drive)
+scm:bazaar:file:///home/smorgrav/dev/project/v3 (linux drive)
+-------
diff --git a/maven-scm-site/src/site/apt/clearcase.apt b/src/site/apt/clearcase.apt
similarity index 88%
rename from maven-scm-site/src/site/apt/clearcase.apt
rename to src/site/apt/clearcase.apt
index 7f157f7..c75fdf7 100644
--- a/maven-scm-site/src/site/apt/clearcase.apt
+++ b/src/site/apt/clearcase.apt
@@ -3,9 +3,29 @@
  ------
  Wim Deblauwe, Arne Degenring
  ------
- 1 December 2005, last update on 22 March 2007
+ 2007-03-22
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 SCM Implementation: ClearCase
 
 * General Info
@@ -72,7 +92,7 @@
 ** Auto-generated config spec
 
     For many users of a base ClearCase SCM installation, auto-generated config specs are more convenient than user-supplied
-    config specs. Instead of being forced to provide a config spec file at an external location, the SCM URL contains 
+    config specs. Instead of being forced to provide a config spec file at an external location, the SCM URL contains
     all information that is needed to check out the code. Specify one load rule for the project you want to check out within the
     SCM URL, as in the following examples:
 
@@ -160,7 +180,7 @@
 
 ** ClearCase Type
 
-    By default, the ClearCase SCM provider uses commands appropriate for the full ClearCase version. If you are using ClearCase LT or 
+    By default, the ClearCase SCM provider uses commands appropriate for the full ClearCase version. If you are using ClearCase LT or
     ClearCase UCM instead, you must specify this fact in the clearcase-settings.xml file.
 
 -------
diff --git a/maven-scm-site/src/site/apt/cvs.apt b/src/site/apt/cvs.apt
similarity index 80%
rename from maven-scm-site/src/site/apt/cvs.apt
rename to src/site/apt/cvs.apt
index 3436011..ac04904 100644
--- a/maven-scm-site/src/site/apt/cvs.apt
+++ b/src/site/apt/cvs.apt
@@ -3,9 +3,29 @@
  ------
  Wim Deblauwe
  ------
- 1 December 2005
+ 2005-12-01
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 SCM Implementation: CVS
 
 * General Info
@@ -33,7 +53,7 @@
 
   * pserver, connecting to a password-authenticating server
 
-  * sspi, secure authentication (less supported by clients and servers, may require using native implementation, for more details see "How to choose the CVS provider implementation") 
+  * sspi, secure authentication (less supported by clients and servers, may require using native implementation, for more details see "How to choose the CVS provider implementation")
 
   * ext, connecting to a server using an external rsh program
 
diff --git a/src/site/apt/git.apt b/src/site/apt/git.apt
new file mode 100644
index 0000000..802aefc
--- /dev/null
+++ b/src/site/apt/git.apt
@@ -0,0 +1,69 @@
+ ------
+ SCM Implementation: Git
+ ------
+ Olivier Lamy
+ ------
+ 2008-08-10
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM Implementation: Git
+
+* General Info
+
+    Link : {{http://git-scm.com/}}
+
+    License : GNU General Public License v2
+
+* SCM Url
+
+    For all URLs below, we use a colon (:) as separator. If you use a colon for one of the variables (e.g. a windows path), then use a pipe (|) as separator.
+
+-------
+scm:git:git://server_name[:port]/path_to_repository
+scm:git:http://server_name[:port]/path_to_repository
+scm:git:https://server_name[:port]/path_to_repository
+scm:git:ssh://server_name[:port]/path_to_repository
+scm:git:file://[hostname]/path_to_repository
+-------
+
+* Examples
+
+-------
+scm:git:git://github.com/path_to_repository
+scm:git:http://github.com/path_to_repository
+scm:git:https://github.com/path_to_repository
+scm:git:ssh://github.com/path_to_repository
+scm:git:file://localhost/path_to_repository
+-------
+
+* Provider Configuration
+
+  The provider configuration is defined in ${user.home}/.scm/git-settings.xml.
+
+-------
+<git-settings>
+  <!-- will had the option --no-verify to the commit command can be helpfull to ignore trailing spaces issues with cygwin and the release plugin -->
+  <commitNoVerify>false</commitNoVerify>
+</git-settings>
+-------
+
diff --git a/src/site/apt/guide/index.apt b/src/site/apt/guide/index.apt
new file mode 100644
index 0000000..2562ab6
--- /dev/null
+++ b/src/site/apt/guide/index.apt
@@ -0,0 +1,37 @@
+ ------
+ Guides
+ ------
+ Maven Team
+ ------
+ 2007-03-12
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Guides
+
+* {{{usage.html}How to use Maven-SCM in my application?}}
+
+  This {{{usage.html}document}} describe API usage for a SCM client.
+
+* {{{new_provider.html}How to write a new SCM provider?}}
+
+  This {{{new_provider.html}document}} describe step by step the implementation of a new SCM proviser.
diff --git a/maven-scm-site/src/site/apt/guide/new_provider.apt b/src/site/apt/guide/new_provider.apt
similarity index 89%
rename from maven-scm-site/src/site/apt/guide/new_provider.apt
rename to src/site/apt/guide/new_provider.apt
index 841b990..d55c95c 100644
--- a/maven-scm-site/src/site/apt/guide/new_provider.apt
+++ b/src/site/apt/guide/new_provider.apt
@@ -3,9 +3,29 @@
  ------
  Maven Team
  ------
- 27 March 2007
+ 2007-03-27
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 How to write a new SCM provider?
 
 * What are the steps to write a new Maven-SCM provider?
diff --git a/maven-scm-site/src/site/apt/guide/usage.apt b/src/site/apt/guide/usage.apt
similarity index 84%
rename from maven-scm-site/src/site/apt/guide/usage.apt
rename to src/site/apt/guide/usage.apt
index 1edaf7a..b9b896b 100644
--- a/maven-scm-site/src/site/apt/guide/usage.apt
+++ b/src/site/apt/guide/usage.apt
@@ -3,9 +3,29 @@
  ------
  Maven Team
  ------
- 26 March 2007
+ 2007-03-26
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 How to use Maven-SCM in my application?
 
 * Create an SCM Manager
diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt
new file mode 100644
index 0000000..10cb23f
--- /dev/null
+++ b/src/site/apt/index.apt
@@ -0,0 +1,36 @@
+ ------
+ Home
+ ------
+ Wim Deblauwe
+ ------
+ 2005-12-01
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Maven SCM
+
+  Maven SCM supports Maven 2.x plugins (e.g.
+  {{{http://maven.apache.org/plugins/maven-release-plugin/}maven-release-plugin}})
+  and other tools (e.g. {{{http://continuum.apache.org/}Continuum}})
+  by providing them with a common API for doing SCM operations. You can look at
+  {{{scms-overview.html}the list of SCM's}} for more information on using
+  Maven SCM with your favorite SCM tool.
diff --git a/src/site/apt/local.apt b/src/site/apt/local.apt
new file mode 100644
index 0000000..828cae1
--- /dev/null
+++ b/src/site/apt/local.apt
@@ -0,0 +1,55 @@
+ ------
+ SCM Implementation: File System
+ ------
+ Wim Deblauwe
+ ------
+ 2005-12-01
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM Implementation: File System
+
+* General Info
+
+    Link : -
+
+    License : -
+
+* SCM Url
+
+    For all URLs below, we use a colon (:) as separator. If you use a colon for one of the variables (e.g. a windows path), then use a pipe (|) as separator.
+
+-------
+scm:local<delimiter>path_to_repository<delimiter>module_name
+-------
+
+    <path_to_repository>: The absolute or relative path to the parent directory of your pom.xml
+
+    <module_name>: The name of the directory that contains your pom.xml
+
+
+* Examples
+
+-------
+scm:local:/usr/modules:my_module
+scm:local|C:/javaprojects|my_module
+-------
diff --git a/src/site/apt/mercurial.apt b/src/site/apt/mercurial.apt
new file mode 100644
index 0000000..59da56a
--- /dev/null
+++ b/src/site/apt/mercurial.apt
@@ -0,0 +1,57 @@
+ ------
+ SCM Implementation: Mercurial (hg)
+ ------
+ Ryan Daum
+ ------
+ 2007-04-12
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM Implementation: Mercurial
+
+* General Info
+
+    Link : {{http://www.selenic.com/mercurial/wiki/}}
+
+    License : GNU General Public License
+
+    "Mercurial: a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects."
+
+    This provider supports version 0.9.2 and greater of Mercurial.
+
+* SCM Url
+
+    Path or url to the branch location.
+    Supported protocols: HTTP, HTTPS, FILE, and local path.
+
+-------
+scm:hg:url_to_repository/local_repository_directory
+-------
+
+* Examples
+
+-------
+scm:hg:http://host/v3
+scm:hg:file://C:/dev/project/v3 (windows drive)
+scm:hg:file:///home/smorgrav/dev/project/v3 (linux drive)
+scm:hg:/home/smorgrav/dev/project/v3 (local directory)
+-------
diff --git a/maven-scm-site/src/site/apt/perforce.apt b/src/site/apt/perforce.apt
similarity index 62%
rename from maven-scm-site/src/site/apt/perforce.apt
rename to src/site/apt/perforce.apt
index 50506dc..908a109 100644
--- a/maven-scm-site/src/site/apt/perforce.apt
+++ b/src/site/apt/perforce.apt
@@ -3,9 +3,29 @@
  ------
  Wim Deblauwe
  ------
- 1 December 2005
+ 2005-12-01
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 SCM Implementation: Perforce
 
 * General Info
@@ -32,7 +52,7 @@
 
 * Associating Jobs with checkin changelist
     Many Perforce installation have a 'require job' rule/trigger turned on.
-    To allow checkin when such a rule is defined, the system property maven.scm.jobs 
+    To allow checkin when such a rule is defined, the system property maven.scm.jobs
     can be set to specify a job that will be associated with the changelist on checkin.
     Handling of multiple jobs is currently not implemented.
     Sample: -Dmaven.scm.jobs=JOB1234
diff --git a/maven-scm-site/src/site/apt/scm-commands.apt b/src/site/apt/scm-commands.apt
similarity index 64%
rename from maven-scm-site/src/site/apt/scm-commands.apt
rename to src/site/apt/scm-commands.apt
index 10524f1..2f57774 100644
--- a/maven-scm-site/src/site/apt/scm-commands.apt
+++ b/src/site/apt/scm-commands.apt
@@ -3,9 +3,29 @@
  ------
  Wim Deblauwe
  ------
- 1 December 2005
+ 2005-12-01
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 Maven SCM Commands
 
   Maven SCM uses a exposes a fixed set of commands for it users. The providers for each SCM must implements those commands through
diff --git a/src/site/apt/scm-url-format.apt b/src/site/apt/scm-url-format.apt
new file mode 100644
index 0000000..a8669eb
--- /dev/null
+++ b/src/site/apt/scm-url-format.apt
@@ -0,0 +1,43 @@
+ ------
+ SCM URL format
+ ------
+ Emmanuel Venisse
+ ------
+ 2005-06-05
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM URL Format
+
+* SCM Url
+
+  The general format for a SCM Url is
+
+-------
+scm:<scm_provider><delimiter><provider_specific_part>
+-------
+
+  As delimiter you can use either colon ':' or, if you use a colon for one
+  of the variables (e.g. a windows path), you can use a pipe '|'.
+
+  For information about the provider specific part, see the appropriate
+  {{{scms-overview.html}SCM implementation}}.
diff --git a/src/site/apt/scms-overview.apt b/src/site/apt/scms-overview.apt
new file mode 100644
index 0000000..51c38e9
--- /dev/null
+++ b/src/site/apt/scms-overview.apt
@@ -0,0 +1,89 @@
+ ------
+ Overview of SCM's
+ ------
+ Wim Deblauwe
+ ------
+ 2005-12-01
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Overview of SCM's
+
+  Maven SCM supports many SCM's. This is a list of all currently known SCM's:
+
+* Fully implemented SCM's
+
+  * {{{bazaar.html}Bazaar}}
+
+  * {{{cvs.html}CVS}}
+
+  * {{{mercurial.html}Mercurial}}
+
+  * {{{perforce.html}Perforce}}
+
+  * {{{starteam.html}StarTeam}}
+
+  * {{{subversion.html}Subversion}}
+
+  * {{{synergy.html}CM Synergy}}
+
+* Partially implemented SCM's
+
+  * {{{accurev.html}Accurev}}
+
+  * {{{clearcase.html}ClearCase}}
+
+  * {{{git.html}Git}}
+
+  * {{{local.html}File system}}
+
+  * {{{vss.html}Visual Source Safe}}
+
+* Not implemented SCM's
+
+    This is a list of all the known SCM's that are not implemented currently.
+
+  * Aegis
+
+  * Arch
+
+  * BitKeeper
+
+  * ClearCase Multisite
+
+  * Code Co-op
+
+  * Darcs
+
+  * Monotone
+
+  * OpenCM
+
+  * PureCM
+
+  * Serena PVCS / Dimension
+
+  * Starteam Enterprise
+
+  * Svk
+
+  * Vesta
diff --git a/maven-scm-site/src/site/apt/starteam.apt b/src/site/apt/starteam.apt
similarity index 71%
rename from maven-scm-site/src/site/apt/starteam.apt
rename to src/site/apt/starteam.apt
index ebc6d9f..2ede33d 100644
--- a/maven-scm-site/src/site/apt/starteam.apt
+++ b/src/site/apt/starteam.apt
@@ -3,9 +3,29 @@
  ------
  Wim Deblauwe
  ------
- 1 December 2005
+ 2005-12-01
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 SCM Implementation: StarTeam
 
 * General Info
diff --git a/maven-scm-site/src/site/apt/subversion.apt b/src/site/apt/subversion.apt
similarity index 65%
rename from maven-scm-site/src/site/apt/subversion.apt
rename to src/site/apt/subversion.apt
index b738a8f..19cd470 100644
--- a/maven-scm-site/src/site/apt/subversion.apt
+++ b/src/site/apt/subversion.apt
@@ -3,9 +3,29 @@
  ------
  Wim Deblauwe
  ------
- 1 December 2005
+ 2005-12-01
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 SCM Implementation: Subversion
 
 * General Info
diff --git a/maven-scm-site/src/site/apt/synergy.apt b/src/site/apt/synergy.apt
similarity index 82%
rename from maven-scm-site/src/site/apt/synergy.apt
rename to src/site/apt/synergy.apt
index cbc6ba8..fc3bb23 100644
--- a/maven-scm-site/src/site/apt/synergy.apt
+++ b/src/site/apt/synergy.apt
@@ -3,9 +3,29 @@
  ------
  Julien Henry (Capgemini) & La Poste
  ------
- October, 23 2006
+ 2006-10-23
  ------
 
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
 SCM Implementation: CM/Synergy
 
 * General Info
diff --git a/src/site/apt/vss.apt b/src/site/apt/vss.apt
new file mode 100644
index 0000000..e1e4225
--- /dev/null
+++ b/src/site/apt/vss.apt
@@ -0,0 +1,55 @@
+ ------
+ SCM Implementation: Visual Source Safe
+ ------
+ Wim Deblauwe
+ ------
+ 2005-12-01
+ ------
+
+~~ 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.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+SCM Implementation: Visual Source Safe
+
+* General Info
+
+    Link : {{http://msdn.microsoft.com/ssafe/}}
+
+    License : Commercial
+
+* SCM Url
+
+    Because a colon is used for one of the variables (a windows path), a pipe (|) is used as the delimiter.
+
+    The general format for a VSS SCM Url is
+
+-------
+scm:vss|path_to_repository|/module_name
+-------
+
+    The third variable is the path to the Visual Source Safe repository (where srcsafe.ini resides).
+
+    Note that a forward slash is necessary before the module name in the final variable.
+
+* Examples
+
+-------
+scm:vss|C:\Program Files\Microsoft Visual Studio\VSS|/SomeProject
+-------
diff --git a/maven-scm-site/src/site/resources/css/site.css b/src/site/resources/css/site.css
similarity index 100%
rename from maven-scm-site/src/site/resources/css/site.css
rename to src/site/resources/css/site.css
diff --git a/src/site/resources/images/check.gif b/src/site/resources/images/check.gif
new file mode 100644
index 0000000..28bb999
--- /dev/null
+++ b/src/site/resources/images/check.gif
Binary files differ
diff --git a/src/site/resources/images/error.gif b/src/site/resources/images/error.gif
new file mode 100644
index 0000000..6d68a8c
--- /dev/null
+++ b/src/site/resources/images/error.gif
Binary files differ
diff --git a/src/site/resources/images/forbidden.gif b/src/site/resources/images/forbidden.gif
new file mode 100644
index 0000000..c6acdec
--- /dev/null
+++ b/src/site/resources/images/forbidden.gif
Binary files differ
diff --git a/maven-scm-site/src/site/site.xml b/src/site/site.xml
similarity index 83%
rename from maven-scm-site/src/site/site.xml
rename to src/site/site.xml
index 20e4e81..f87cbeb 100644
--- a/maven-scm-site/src/site/site.xml
+++ b/src/site/site.xml
@@ -19,10 +19,6 @@
   -->
 
 <project>
-  <skin>
-    <groupId>org.apache.maven.skins</groupId>
-    <artifactId>maven-stylus-skin</artifactId>
-  </skin>
   <bannerLeft>
     <name>Maven</name>
     <src>http://maven.apache.org/maven2/images/apache-maven-project-2.png</src>
@@ -31,7 +27,26 @@
   <bannerRight>
     <src>http://maven.apache.org/maven2/images/maven-logo-2.gif</src>
   </bannerRight>
+
+  <skin>
+    <groupId>org.apache.maven.skins</groupId>
+    <artifactId>maven-stylus-skin</artifactId>
+    <version>1.0.1</version>
+  </skin>
+
+  <publishDate format="yyyy-MM-dd" position="left" />
+  <version position="left" />
+
   <body>
+    <head>
+      <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+      </script>
+      <script type="text/javascript">
+        _uacct = "UA-140879-1";
+        urchinTracker();
+      </script>
+    </head>
+
     <links>
       <item name="Apache" href="http://www.apache.org/"/>
       <item name="Maven 1.x" href="http://maven.apache.org/maven-1.x"/>
@@ -41,15 +56,17 @@
       <item name="JXR" href="http://maven.apache.org/jxr"/>
       <item name="Doxia" href="http://maven.apache.org/doxia"/>
     </links>
+
+    <menu ref="modules" />
+
     <menu name="Quick Links">
       <item name="Home" href="/index.html"/>
-      <item name="Maven SCM Plugin" href="/plugins/index.html"/>
-      <item name="Javadoc" href="/projects/apidocs/index.html"/>
+      <item name="Javadoc" href="/apidocs/index.html"/>
       <item name="SCM URL Format" href="/scm-url-format.html"/>
       <item name="Supported SCMs" href="/scms-overview.html" collapse="true">
         <item name="Accurev" href="/accurev.html"/>
         <item name="Bazaar" href="/bazaar.html"/>
-        <item name="Mercurial" href="/mercurial.html"/>                  
+        <item name="Mercurial" href="/mercurial.html"/>
         <item name="Clearcase" href="/clearcase.html"/>
         <item name="CM Synergy" href="/synergy.html"/>
         <item name="CVS" href="/cvs.html"/>
@@ -64,7 +81,7 @@
         <item name="How to use Maven-SCM in my application" href="/guide/usage.html"/>
         <item name="How to write a new SCM provider" href="/guide/new_provider.html"/>
       </item>
-      <item name="SCM providers Matrix" href="http://docs.codehaus.org/display/SCM/SCM+Matrix"/>
+      <item name="SCM Providers Matrix" href="/matrix.html"/>
     </menu>
 
     <menu ref="reports"/>
diff --git a/src/site/xdoc/matrix.xml b/src/site/xdoc/matrix.xml
new file mode 100644
index 0000000..aafcf86
--- /dev/null
+++ b/src/site/xdoc/matrix.xml
@@ -0,0 +1,685 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!--
+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.
+-->
+
+<document>
+  <properties>
+    <title>Maven SCM Providers Matrix</title>
+    <author email="vsiveton@apache.org">Vincent Siveton</author>
+  </properties>
+
+  <body>
+    <section name="Maven SCM Providers Matrix">
+      <p>This matrix presents all SCM providers acutally supported by the Maven SCM project.</p>
+      <table>
+        <tbody>
+          <tr>
+            <th> SCM </th>
+            <th> add </th>
+            <th> branch </th>
+            <th> changelog </th>
+            <th> checkin </th>
+            <th> checkout </th>
+            <th> diff </th>
+            <th> edit </th>
+            <th> export </th>
+            <th> list </th>
+            <th> login </th>
+            <th> remove </th>
+            <th> status </th>
+            <th> tag </th>
+            <th> unedit </th>
+            <th> update </th>
+            <th> Pure Java </th>
+          </tr>
+          <tr>
+            <td> Bazaar </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Clearcase </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> CM Synergy </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> CVS </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> CVS (Pure Java client) </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> GIT </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Local </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Mercurial (hg) </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Microsoft VSS </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Perforce </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Starteam </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+          <tr>
+            <td> Subversion </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/forbidden.gif" />
+            </td>
+            <td>
+              <img src="./images/check.gif" />
+            </td>
+            <td>
+              <img src="./images/error.gif" />
+            </td>
+          </tr>
+        </tbody>
+      </table>
+
+      <p>Keys:
+        <ul>
+          <li><img src="./images/check.gif" />: Functional</li>
+          <li><img src="./images/forbidden.gif" />: Doesn't exist in SCM tool</li>
+          <li><img src="./images/error.gif" />: Not implemented</li>
+        </ul>
+      </p>
+    </section>
+
+    <section name="Related Links">
+      <ul>
+        <li><a href="http://docs.codehaus.org/display/SCM/SCM+Matrix">Wiki of Maven SCM Matrix</a></li>
+        <li><a href="http://en.wikipedia.org/wiki/Comparison_of_revision_control_software">Comparison of revision control software</a></li>
+        <li><a href="http://en.wikipedia.org/wiki/Source_Code_Management#Common_vocabulary">SCM Common vocabulary</a></li>
+        <li><a href="http://www.cmcrossroads.com/cgi-bin/cmwiki/view/CM/">CM Wiki</a></li>
+      </ul>
+    </section>
+  </body>
+</document>