Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CVSAnaly Build Status


The CVSAnalY tool extracts information out of source code repository logs and stores it into a database.


Licensed under GNU General Public License (GPL), version 2 or later.



CVSAnalY has the following dependencies:

  • Python >= 2.5
  • RepositoryHandler: git clone git://
  • CVS (optional, for CVS support)
  • Subversion (optional, for SVN support)
  • git (optional, for Git support)
  • Python MySQLDB (optional, but recommended)


Some useful scripts for performing reseach studies (activity, generations, etc) can be found in the next link:

You can get the code from the git repository:

    git clone git://
    git clone


You can install cvsanaly2 just by running script:

# python install

This will install it in the python default directories in your system.

If you don't install CVSAnalY with root privileges, or don't want to install it in the default directories, you can also use the source code directory, as cloned from the main git repo. It is enough to configure your PATH and PYTHONPATH so that cvsanaly2, and the Python modules it needs, are found.

Add to your $PATH the directory which contains cvsanaly (cvsanalydir is the directory where CVSAnalY is installed):

$ export PATH=$PATH:cvsanalydir

In PYHTONPATH, you need to include both the dirs for CVSAnalY and RepositoryHandler (except if it is installed in the default Python dirs in your system). If repohandlerdir is the path where RepositoryHandler is installed:

$ export PYTHONPATH=$PYTHONPATH:cvsanalydir:repohandlerdir

You are ready to use cvsanaly2!

Running cvsanaly2

For the impatients: just checkout (from svn or cvs) to obtain a local version of your repository, and then run cvsanaly2:

$ cd project/
~/project$ cvsanaly2 

More options, and a more detailed info about the options, can be learnt by running "cvsanaly2 --help"

Useful settings

  • Raise your max_allowed_packet-setting of your database (MySQL). 1 or 16 MB might be to low (depends on your repository)


You can extend CVSAnalY with various extensions. Some extenstions are delivered with the application itselfs.


The goal of the metrics extension is to collect various programing language related metrics like lines of code, McCabe and so on. To enable the full feature set of this extension please be sure that the following programs are installed on your system:

  • kdsi
  • halstead
  • mccabe
  • PyMetrics for Python
  • CCCC for C and C++
  • SLOCCount for C, C++, C#, Haskell, Java, Perl, PHP, Python, etc.

Improving CVSAnalY

Source code, wiki and ITS available on Github:

If you want to receive updates about new versions, and keep in touch with the development team, consider subscribing to the mailing list. It is a very low traffic list (< 1 msg a day):


CVSAnalY was initially developed by the GSyC/LibreSoft group at the Universidad Rey Juan Carlos, Madrid (Spain). It is part of a wider research on libre software engineering, aimed to gain knowledge on how libre software is developed and maintained.

Main authors

  • Carlos Garcia Campos (carlosgc at


  • Gregorio Robles (grex at
  • Alvaro Navarro (anavarro at
  • Jesus M. Gonzalez-Barahona (jgb at
  • Israel Herraiz (herraiz at
  • Juan Jose Amor (jjamor at
  • Martin Michlmayr (tbm at
  • Alvaro del Castillo (acs at
  • Santiago Dueñas (sduenas at
  • and a lot of other awesome contributer via github


The CVSAnalY tool extracts information out of source code repository logs and stores it into a database.







No packages published