MCREPOGEN (http://launchpad.net/mcrepogen), the Markov Chain Repository Generator, generates random version control histories with specified characteristics. It uses a Markov Chain model where the states are directory trees and various changes to the tree have associated probabilities. The intent is that by giving complete control over the characteristics of the history, performance testing of different aspects of VCS can be improved.

Download version 0.2 from http://launchpad.net/mcrepogen/+download, install with ``easy_install MCREPOGEN``, or pull the latest version with ``bzr branch lp:mcrepogen``. MCREPOGEN depends on Bazaar (http://bazaar-vcs.org), NumPy (http://numpy.scipy.org) and the bzr-fastimport plugin (http://launchpad.net/bzr-fastimport).

After installation, simply ``gen_random_history.py -r 1000 -o example.fi`` to generate 1000 random revisions with output in the fast-import format. That output file can then be imported into different version control systems, including Bazaar, Mercurial and Git.

Bugs, questions and feedback are welcome at http://launchpad.net/mcrepogen

Changes in version 0.2:
-----------------------

- Add a new configuration file format for specifying transitions and their associated parameters. Using the ``-f`` option, one can specify a file in INI-format that lists classes and associated parameter values to use in changing the tree.

- Add a number of example configurations to the distribution.

- Use setuptools for distribution

- Fix a bug with exceptions arising from moving a file. Simply catch possible exceptions and skip the move, which is adequate in a randomly-evolving tree.

Reply via email to