contrib/python-hook-examples.py
author Brendan Cully <brendan@kublai.com>
Sun, 07 Feb 2010 19:39:29 +0100
changeset 10386 1ddb0ae26a55
parent 7918 62f11ef0df5b
child 13878 a8d13ee0ce68
permissions -rw-r--r--
zeroconf: better fix for readName error Stop parsing when an unknown type is seen, since it is impossible to resynchronize on the stream.

'''
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].parents()[0].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)))