contrib/python-hook-examples.py
author Gregory Szorc <gregory.szorc@gmail.com>
Fri, 02 Oct 2015 15:58:24 -0700
changeset 26442 ef8d27f53204
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
streamclone: move stream_in() from localrepo Another basic content move. The underscore from the function name was removed to comply with naming standards.

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