contrib/python-hook-examples.py
author Edouard Gomez <ed.gomez@free.fr>
Wed, 07 Jul 2010 00:06:59 +0200
changeset 13745 9ff22f600c6c
parent 7918 62f11ef0df5b
child 13878 a8d13ee0ce68
permissions -rw-r--r--
convert: add bookmark support to main command During conversion, read bookmarks from source repo, filter them and push the resulting set of bookmarks to destination sink.

'''
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].parents()[0].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)))