diff options
Diffstat (limited to 'contrib/python-hook-examples.py')
-rw-r--r-- | contrib/python-hook-examples.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/contrib/python-hook-examples.py b/contrib/python-hook-examples.py new file mode 100644 index 0000000..b38df97 --- /dev/null +++ b/contrib/python-hook-examples.py @@ -0,0 +1,22 @@ +''' +Examples of useful python hooks for Mercurial. +''' +from mercurial import patch, util + +def diffstat(ui, repo, **kwargs): + '''Example usage: + + [hooks] + commit.diffstat = python:/path/to/this/file.py:diffstat + changegroup.diffstat = python:/path/to/this/file.py:diffstat + ''' + if kwargs.get('parent2'): + return + node = kwargs['node'] + first = repo[node].p1().node() + if 'url' in kwargs: + last = repo['tip'].node() + else: + last = node + diff = patch.diff(repo, first, last) + ui.write(patch.diffstat(util.iterlines(diff))) |