SonarQube :: Plugins :: SCM :: CVS

CVS SCM Provider.

License

License

GroupId

GroupId

org.codehaus.sonar-plugins
ArtifactId

ArtifactId

sonar-scm-cvs-plugin
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

sonar-plugin
Description

Description

SonarQube :: Plugins :: SCM :: CVS
CVS SCM Provider.
Project URL

Project URL

http://redirect.sonarsource.com/plugins/scmcvs.html
Project Organization

Project Organization

SonarSource
Source Code Management

Source Code Management

https://github.com/SonarCommunity/sonar-scm-cvs

Download sonar-scm-cvs-plugin

Dependencies

compile (2)

Group / Artifact Type Version
org.netbeans.lib : cvsclient jar 20060125
com.jcraft : jsch jar 0.1.51

provided (2)

Group / Artifact Type Version
com.google.code.findbugs : jsr305 jar 2.0.3
org.codehaus.sonar : sonar-plugin-api jar 5.0-RC3

test (3)

Group / Artifact Type Version
org.codehaus.sonar : sonar-testing-harness jar 5.0-RC3
org.hamcrest : hamcrest-all jar 1.3
org.mockito : mockito-core jar 1.9.5

Project Modules

There are no modules declared in this project.

CVS Plugin

Build Status

Description / Features

Implements SCM dependent features of SonarQube for CVS projects. Pure Java implementation so no need to have CVS command line tool installed on the computer doing the SQ analysis.

Usage

Install the plugin in SonarQube. Auto-detection will work if there is a CVS folder in the project root directory. Otherwise you can force the provider using -Dsonar.scm.provider=cvs. You can also configure some optional properties:

Key Description Default value
sonar.cvs.username Username to be used for CVS authentication. Optional if already present in CVS/Root.
sonar.cvs.password.secured Password to be used for CVS authentication.
sonar.cvs.passphrase.secured Passphrase to be used for SSH authentication using public key.
sonar.cvs.compression.disabled Disable compression. false
sonar.cvs.compressionLevel Compression level. 3
sonar.cvs.useCvsrc Consider content of .cvsrc file. false
sonar.cvs.cvsRoot CVSRoot string. For example :pserver:host:/folder. Will be automatically detected by default (reading CVS/Root).
sonar.cvs.revision Revision/tag used to execute annotate (equivalent to -r command line option). Required if you are working on a branch since CVS returns annotations from HEAD by default.

Known Limitations

  • Blame is not executed in parallel since we are not confident in the thread safety of cvsclient library.
  • cvs annotate returns information from server for the given file in HEAD revision. If you are working on a branch you have to manually pass the branch using sonar.cvs.revision property.
  • consequence of previous point is that we are not able to properly detect that there are local uncommited changes. So annotate result can be inconsistent with source code analyzed by SonarQube.
  • cvs annotate only returns date of the change (and not datetime like most other providers). This lack of precision can be an issue to distinguish changes commited in the same day.

Developer informations

The plugin use the Netbeans pure Java implementation of CVS client: https://versioncontrol.netbeans.org/javacvs/library/

License

Copyright 2014-2018 SonarSource.

Licensed under the GNU Lesser General Public License, Version 3.0

Versions

Version
1.0