<?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 actually supported by the Maven SCM project.</p>
      <table>
        <tbody>
          <tr>
            <th> SCM </th>
            <th> add </th>
            <th> blame </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>
            <!-- SCM -->
            <td> Git </td>
            <td>
              <!-- add -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- blame -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- branch -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- changelog -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkin -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkout -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- diff -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- edit -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- export -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- list -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- login -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- remove -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- status -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- tag -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- unedit -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- update -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- Pure Java -->
              <img src="./images/error.gif" />
            </td>
          </tr>
          <tr>
            <!-- SCM -->
            <td> Local </td>
            <td>
              <!-- add -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- blame -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- branch -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- changelog -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkin -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkout -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- diff -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- edit -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- export -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- list -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- login -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- remove -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- status -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- tag -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- unedit -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- update -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- Pure Java -->
              <img src="./images/check.gif" />
            </td>
          </tr>
          <tr>
            <!-- SCM -->
            <td> Mercurial (hg) </td>
            <td>
              <!-- add -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- blame -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- branch -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- changelog -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkin -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkout -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- diff -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- edit -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- export -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- list -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- login -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- remove -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- status -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- tag -->
              <img src="./images/error.gif" />
            </td>
            <td>
              <!-- unedit -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- update -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- Pure Java -->
              <img src="./images/error.gif" />
            </td>
          </tr>
          <tr>
            <!-- SCM -->
            <td> Subversion </td>
            <td>
              <!-- add -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- blame -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- branch -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- changelog -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkin -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- checkout -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- diff -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- edit -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- export -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- list -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- login -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- remove -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- status -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- tag -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- unedit -->
              <img src="./images/forbidden.gif" />
            </td>
            <td>
              <!-- update -->
              <img src="./images/check.gif" />
            </td>
            <td>
              <!-- Pure Java -->
              <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="https://cwiki.apache.org/confluence/display/MAVENSCM/SCM+Matrix">Wiki of Maven SCM Matrix</a></li>
        <li><a href="https://en.wikipedia.org/wiki/Comparison_of_revision_control_software">Comparison of revision control software</a></li>
        <li><a href="https://en.wikipedia.org/wiki/Source_Code_Management#Common_vocabulary">SCM Common vocabulary</a></li>
      </ul>
    </section>
  </body>
</document>
