contrib/python-hook-examples.py
author Yuya Nishihara <yuya@tcha.org>
Sun, 08 Mar 2015 14:17:35 +0900
changeset 24237 9ad02823dc5b
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
templatekw: convert list of key/value pairs to sortdict These sortdict objects will be passed to _hybrid later, which will allow us to handle them by "ifcontains()" and "get()" as expected.

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