contrib/python-hook-examples.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 10 Jun 2014 14:32:52 -0700
changeset 21733 9ad11d5bcc2f
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
run-tests: don't check for the mercurial library used when using --with-hg In the ``--with-hg`` case, we cannot properly infer the location of the mercurial library, so we skip the warning completely.

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