contrib/python-hook-examples.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Wed, 26 Mar 2014 18:51:49 -0700
changeset 20855 dfad9bb23ab4
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
revsetbenchmark: add a summary at the end of execution The summary list timing per revset making it much more easier to compare revision to each other.

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