{iframe:src=http://update.sonarsource.org/plugins/scmactivity.html\|width=700\|height=250\|frameborder=0}
{color:#333333}Your browser does not support iframes.{color}
{iframe}


h2. Compatibility matrix

All SCM providers currently *require the native executable to be installed* on the box. For example svn.exe must be available in PATH for Subversion projects.

|| Plugin || 0.1 || 0.2 || 1.0 || 1.1 || 1.2 ||
|| Sonar || 1.12\+ || 1.12\+ || 2.0\+ || 2.0\+ || 2.7\+ ||
| [Subversion|http://subversion.tigris.org/] | (+) | (/) | (/) | (/) | (/) |
| [Git|http://git-scm.com/] | (+) | (/) | (/) | (/) | (/) |
| [CVS|http://www.nongnu.org/cvs/] | (-) | (+) | (/) | (/) | (/)\\ |
| [Mercurial|http://mercurial.selenic.com/] | (-) | (+) | (/) | (/) | (?)  Support planned in SCM Activity 1.3 (see [SONARPLUGINS-1067|http://jira.codehaus.org/browse/SONARPLUGINS-1067]) |
| [Bazaar|http://bazaar.canonical.com/] | (-) | (+) | (/) | (/) | (?) |
| [Perforce|http://www.perforce.com/] | (-) | (-) | (-) | (+) | (?) |
| [StarTeam|http://www.borland.com/us/products/starteam/index.html] | (-) | (-) | (-) | (-) | (-) |
| [Team Foundation Server|http://en.wikipedia.org/wiki/Team_Foundation_Server] (see [SONARPLUGINS-373|http://jira.codehaus.org/browse/SONARPLUGINS-373]) | (-) | (-) | (-) | (?) | (?) |
| [ClearCase|http://www-306.ibm.com/software/awdtools/clearcase/] | (-) | (-) | (-) | (+) | (?) |
| [Accurev|http://www.accurev.com/] (see [SONARPLUGINS-455|http://jira.codehaus.org/browse/SONARPLUGINS-455]) | (-) | (-) | (-) | (?) | (?) |

(/) \- tested
(+) \- added and tested
(?) \- added, but not tested in real-life
(x) \- tested, but not working
(-) \- not implemented

h2. Features

This plugin collects and reports information from SCM.

h4. SCM Metrics in filter results

!metrics.png!

h4. Dashboard widget


h3. !widget.jpg!

h4. {color:#000000}{*}Source code viewer{*}{color}


!sources.jpg|border=1!

h4. Code Coverage on New/Changed Code

Monitoring code coverage is crucial to understand the risks associated to making changes to an application. But when dealing with a big application with low coverage, you will also want to separate new code from old (based upon a given cut-off date) in order to track the new code which does not have any/enough unit tests. 

This feature is available since Sonar 2.7 and SCM Activity plugin 1.2.

h4. Live examples

To see live examples, you can browse following projects on Nemo:
* Git - [Sonar|http://nemo.sonarsource.org/dashboard/index/org.codehaus.sonar:sonar]
* Subversion - [Sonar Plugins|http://nemo.sonarsource.org/dashboard/index/org.codehaus.sonar-plugins:all]
* CVS - [Java Calendar Tools|http://nemo.sonarsource.org/project/index/228688]

h2. Usage & Installation

# Install from Update Center or download the JAR into the directory /extensions/plugins/
# Restart Sonar
# Define the SCM URL of your project (see [SCM URL Format|http://maven.apache.org/scm/scm-url-format.html]).
Example for Maven pom.xml :
{code:xml,title=pom.xml}
<scm>
  <connection>scm:svn:http://svn.codehaus.org/sonar-plugins/trunk/scm-activity</connection>
  <developerConnection>scm:svn:https://svn.codehaus.org/sonar-plugins/trunk/scm-activity</developerConnection>
  <url>http://svn.sonar-plugins.codehaus.org</url>
</scm>
{code}
Or you can use Project Setting - SCM URL.
Or specify it via property {{sonar.scm.url}}.
# Go to {{Global/Project Settings}}
## Enable plugin. This plugin disabled by default, because can dramatically increase analysis time of your project
## Specify User ({{sonar.scm.user.secured}}) and Password ({{sonar.scm.password.secured}}) if needed; if specified then {{developerConnection}} will be used, otherwise {{connection}}
# Launch a new quality analysis and the metrics will be fed

h2. Known problems and limitations

h4. Subversion "Server certificate verification failed: issuer is not trusted"

Add following to {{.subversion/servers}}:
{code}
[global]
ssl-authority-files = /path/certificate.crt
ssl-trust-default-ca = yes
{code}

h4. CVS anonymous access not working "org.apache.maven.scm.ScmException: password is required."

Try to set empty password for repository in {{.cvspass}}. For example :
{code:xml,title=.cvspass}
/1 :pserver:anonymous@javacaltools.cvs.sourceforge.net:2401/cvsroot/javacaltools A
{code}

h2. Changelog

h4. Release 1.2

See [Sonar 2.7 Upgrade Notes|SONAR:Release 2.7 Upgrade Notes]

{jiraissues:anonymous=true|title=Release 1.2|height=250|width=800|url=http://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16455&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000|columns=type;key;summary;priority;status;resolution}

h4. Release 1.1

{jiraissues:anonymous=true|title=Release 1.1|height=250|width=800|url=http://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16286&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000|columns=type;key;summary;priority;status;resolution}

h4. Release 1.0

{jiraissues:anonymous=true|title=Release 1.0|height=250|width=800|url=http://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16222&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000|columns=type;key;summary;priority;status;resolution}

h4. Release 0.2

{jiraissues:anonymous=true|title=Release 0.2|height=250|width=800|url=http://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16192&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000|columns=type;key;summary;priority;status;resolution}

h4. Release 0.1

{jiraissues:anonymous=true|title=Release 0.1|height=250|width=800|url=http://jira.codehaus.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?fixfor=16142&pid=11911&sorter/field=priority&sorter/order=DESC&tempMax=1000|columns=type;key;summary;priority;status;resolution}