Plotting arbitrary data for repository

I’m looking for a way to visualize arbitrary information about my repository over time, which might be some version-dependent number, such as:

  • lines of code
  • number of lines in a latex document
  • time between commits
  • anything that can be output by a script

What is the best way to visualize this information?

  • Why Mercurial doesn't need “recursive merge strategy”?
  • Why should a business use distributed version control?
  • How is dvcs (git/mercurial) branching and merging support better than svn's?
  • Delete remote repository from git shell
  • Can Git or Mercurial be set to bypass the local repository and go straight to the central one?
  • git commit different set of files to develop and master
  • More specifically, I’m using mercurial and would ideally like something with a decent interface, with plot resizing/scrolling/etc… Jenkins’ plot plugin is decent but not great, but more importantly it’s not possible to visualize past data (say, after adding a new metric).

  • Sonar 5.0 SCM plugin unable to blame source in git sub-modules causing analysis failure
  • Fusing two git svn repos at point of divergence
  • How to avoid developers to commit without mention the issue on commit message on Github
  • Mercurial (hg) commit only certain files
  • Run git commands from a C# function
  • Using git as a storage intermediary (and maintaining a rich and sane log history)
  • One Solution collect form web for “Plotting arbitrary data for repository”

    I would suggest to split your task to simplify everything a little bit. It is likely you will need several different tools in order to collect and visualize all required information. Historical view seems to be another big challenge.

    Lines of code

    There are several plugins available for Jenkins, but almost all are highly specialized. SLOCCount plug-in seems to be most universal, but it does not provide any graphical output.

    enter image description here

    • NSIQ Collector Plugin
    • SLOCCount plug-in
    • JavaNCSS Plugin

    There might be some other option for your language. For example, CCCC will provide required information for C and C++ code:

    enter image description here

    Number of lines in a latex document
    I see several options to achieve that:

    • adapt existing solution/plugin
    • use repository statistics tool (Pepper, for example, can do the trick)
    • use simple shell script to count lines and report it

    Pepper will generate something like the following:

    enter image description here

    Please check Pepper gallery. There are another tools, for example: hgchart

    Time between commits

    The simplest solution is to let a commit to trigger some trivial job, so Jenkins will provide all information as part of build history (with a timeline, etc).

    enter image description here

    Another solution is to use repository statistics tool once again:

    enter image description here

    Anything that can be output by a script

    There are several good plug-ins for that.

    • Plot plugin can visualize multiple values provided as properties or csv file.
    • Measurement Plots Plugin scans the output in order to find values to be visualized

    enter image description here

    Happy continuous integration.

    Git Baby is a git and github fan, let's start git clone.