contrib/python-hook-examples.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 10 Mar 2015 21:25:11 -0700
changeset 24387 32e16e9cf2cf
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
contrib: remove the now useless lock-checker.py extension This feature is in core now, and we do not keep backward compability for contrib.

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