contrib/python-hook-examples.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 09 Jun 2015 23:49:07 -0700
changeset 25544 e66f1707ba6c
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
revsetbenchmarks: use combination variants in default set Now that we have them, let's make use of them.

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