=============================================
MCREPOGEN - Markov Chain Repository Generator
=============================================

MCREPOGEN is a generator of random version control histories.  It has a
significant number of parameters that allow one to control the properties
of the repositories that it generates.  It is intended to be used as a
performance testing tool for version control systems.

It has a home online at http://launchpad.net/mcrepogen and bugs and
suggestions are welcome there, or to me at nmb@wartburg.edu


Installation
============

MCREPOGEN depends on the Bazaar version control system for its underlying
versioning framework, and the Numerical Python system for its sophisticated
random variables.  Specifically, you need to have three packages:

  1. Bazaar (http://bazaar-vcs.org)
  2. the bzr-fastimport plugin (https://launchpad.net/bzr-fastimport)
  3. Numpy (http://numpy.scipy.org)

If these three packages are installed, then you should be able to install
MCREPOGEN using::

  python setup.py install


Usage
=====

MCREPOGEN simulates the time evolution of a directory tree and outputs the
resulting history in the fast-export format
(http://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html).  The
main script is ``gen_random_history.py``.  For example::

  gen_random_history.py -r 100 -o test_history.fi

produces a history of 100 revisions in the file ``test_history.fi``.  For
more information on using and configuring MCREPOGEN, see the file
``doc/user_guide.txt`` in this distribution.


Acknowledgments
===============

Bazaar (http://bazaar-vcs.org) is a wonderful VCS with a very nice python
library that made this  project possible.  Thanks also to Ian Clatworthy's
work on supporting the emerging standard of the fast-import format.  The words
in ``6of12.txt.gz`` are from Alan Beale's 12dicts project
(http://www.wyrdplay.org/12dicts.html).  ConfigObj which provides support for
the nice configuration-file format is from Voidspace
(http://www.voidspace.org.uk/python/configobj.html).
