Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install gitwalker

How to install gitwalker

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install gitwalker
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.1.7 Available View build log
0.1.6 Available View build log
0.1.5 Available View build log
Windows (64-bit)
0.1.7 Available View build log
0.1.6 Available View build log
0.1.5 Available View build log
Mac OS X (10.5+)
0.1.7 Available View build log
0.1.6 Available View build log
0.1.5 Available View build log
Linux (32-bit)
0.1.7 Available View build log
0.1.6 Available View build log
0.1.5 Available View build log
Linux (64-bit)
0.1.7 Available View build log
0.1.6 Available View build log
0.1.5 Available View build log
 
Author
License
GPL
Dependencies
Imports
Lastest release
version 0.1.7 on Jan 5th, 2012

What is this?

gitwalker is a tool for collecting data from git repositories. It automates the process of checking out each revision, running some command and logging the output to a JSON file. Additional commands can be added by writing Python classes.

What can it do?

Currently _gitwalker_ supports two built in commands:

  • A LaTeX word count
  • du disk usage command
  • Arbitrary shell commands

Its straightforward to add additional commands - see the file tools.py

The included script gitwalk_plot uses the [matplotlib](http://matplotlib.sourceforge.net/index.html) framework to produce time-series graphs overlaying multiple data files.

Getting It

If you have pip installed, simply
pip install gitwalker

Usage

To word count a git-tracked LaTeX project across all commits:

gitwalk --wordcount myfile.tex --out wordcount.json /path/to/project

This will clone the repository at /path/to/project to a temporary directory before checking out each revision and running a word count on the file myfile.tex in the repository. The results will be output to the file wordcount.json

gitwalker also supports incremental update of a previously produced log file. To add newly committed revisions,

gitwalk --update wordcount.json --wordcount myfile.tex /path/to/project

There is an attached script to plot a number of such output files on the same axes using matplotlib. e.g.

gitwalk_plot --plot file1.json me red --plot you.json you blue wordcount/wordcount

Will plot the files file1.json and file2.json on the same axes using the specified labels and colours. The value will be dug out from the JSON file via the path format at the end of the command line - in this case wordcount/wordcount. One could also run

gitwalk_plot --plot file1.json me red --plot you.json you blue wordcount/nfigures

to plot the number of LaTeX figures present in each commit.

To run a shell command on each commit,

gitwalk --shell="ls | wc -l" /path/to/project

Todo

  • Add git-notes option

Subscribe to package updates

Last updated Jan 5th, 2012

Download Stats

Last month:3

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.