contrib/python-hook-examples.py
author Adrian Buehlmann <adrian@cadifra.com>
Fri, 22 Jul 2011 09:53:15 +0200
changeset 14908 e2b5605501df
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
util: move "default" makedir to posix.py makedir is already defined in win32.py, which gets imported into util.py via windows.py if we are running on Windows

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