Coder Social home page Coder Social logo

svn-diffstat's Introduction

SVN DIFFSTAT Build Status

Creates git like diff stat over a whole svn repository. Only one author and a certain set of files are considered. In addition a chart similar to Code Frequency is created.

This is very raw and not polished software. These are the steps that you need to do to run the software

  • build the software with mvn clean package
  • check out the part of the subversion repository you're interested in
  • run the software in the folder of the working copy you just checked out

Command Line Options

The following command line options are supported:

-author -a
Required. The authors that should be analyzed.
-file -f
Required. The file where to save the generated chart. Will always be a PNG.
-extension -e
Optional. The file extensions that should be analyzed.
-width -w
Optional. The width of the chart in pixels. Defaults to 1200.
-height -h
Optional. The height of the chart in pixels. Defaults to 600.
-double -d -retina -r
Optional. Render in double the resolution, useful for retina Macs. Defaults to false.
-max -m
Optional. Commits with more than this number of lines changed will be ignored. Defaults to 10000.
-protocol -p
Optional. Only initialize support for the given protocol. Options: file, dav, svn.

For example

java -Djava.awt.headless=true -jar svn-diffstat/target/svn-diffstat-1.0.0-SNAPSHOT.jar -d -a marschall -e java -f /Users/marschall/tmp/diffstat.png

Sample

This is a sample chart generated from an actual code base.

sample chart

FAQ

I'm getting NonWritableChannelException on file:// checkouts

Exception in thread "main" java.nio.channels.NonWritableChannelException
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1014)

Just try again, somebody committed during the analysis.

Does it scale?

I ran it on a subversion repository with about 240k revisions and it takes about 20 minutes.

Is it any good?

Yes

What's the latest SVN version it supports?

1.8

What Java version does it require?

1.7

Why does my local build not find svnkit?

You need this in your settings. xml

   <profile>
      <id>tmatesoft</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>

      <repositories>
        <repository>
          <id>tmatesoft-releases</id>
          <url>http://maven.tmatesoft.com/content/repositories/releases/</url>
        </repository>
      </repositories>
    </profile>

Credits

This project wouldn't have been possible without the work of others:

Last but not least I'd like to thank Netcetera for sponsoring the work on this. This was literally a one-weekend-hack as you can see from the commit logs.

svn-diffstat's People

Contributors

marschall avatar

Watchers

James Cloos avatar Bo Wang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.