contrib/python-hook-examples.py
author Chinmay Joshi <c@chinmayjoshi.com>
Thu, 05 Jun 2014 15:16:44 +0530
changeset 21716 90f9be5adade
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
vfs: add unlinkpath to vfs This patch adds unlinkpath() function in vfs to replace util.unlinkpath().

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