contrib/python-hook-examples.py
author Siddharth Agarwal <sid0@fb.com>
Fri, 19 Apr 2013 16:57:20 -0700
branchstable
changeset 19072 b7b50a54bec9
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
color: turn colorui functions into forwards when color is None colorui will be set to None as necessary in an upcoming patch.

'''
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)))