Commits

Benoît Allard committed 5318c06

Add a README file

Comments (0)

Files changed (1)

+===================
+Hotfiles extensions
+===================
+
+:author: Benoît Allard <benoit.allard@gmx.de>
+:website: https://bitbucket.org/benallard/hotfiles
+
+Introduction
+============
+
+It all began from a `blog post`_ about bug prediction, that describes how some files can be considered as *hot spots* inside a codebase. Thos files, for instance have to be reviewed more carrefully than others, or even, development on them should be done with a higher alert level. The trouble is only, how to detect those files when you are new to the codebase. The Google blog post quotes a_ few_ papers_ that shows that history can helps.
+
+I decided to implement their method as a Mercurial_ extension.
+
+.. _`blog post`: http://google-engtools.blogspot.com/2011/12/bug-prediction-at-google.html
+.. _a: http://research.microsoft.com/apps/pubs/default.aspx?id=69126
+.. _few: http://scholar.google.com/scholar?q=Bug+Cache+for+inspections%3A+hit+or+miss%3F
+.. _papers: http://scholar.google.com/scholar?cluster=338532016657424558
+.. _Mercurial: http://mercurial.selenic.com
+
+Installation
+============
+
+Like any other extension, this one has to be enables in one of the mercurial `configuration file`_ like this::
+
+    [extensions]
+    hotfiles = path/to/hotfiles.py
+
+.. _`configuration file`: http://www.selenic.com/mercurial/hgrc.5.html
+
+Usage
+=====
+
+This extension adds a new command ``hotfiles`` that displays the 10 files the most succeptible to have issues. Or at least, the one that contained issues in the late time.
+
+This command takes two parameters:
+
+-r REV
+    This stop the computation at a particular revision and displays the *hot* files at that time.
+
+-p REGEX
+    This is a regular expression used to filter only the commit messages that are related to issues.
+
+Example::
+
+   hg hotfiles -p 'issue\d+'
+
+Will display the ten files the most succeptible to contains bug if run in the Mercurial repository.
+
+Contributing
+============
+
+For bug reports, pull requests, comments, ... simply use the Bitbucket interface or send me a mail.