contrib/python-hook-examples.py
author Augie Fackler <raf@durin42.com>
Fri, 16 Jan 2015 15:31:45 -0500
changeset 23889 3831e9b3750a
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
histedit: add a test to show that issue4251 is fixed (issue4251) This will help us not regress this case in the future.

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