contrib/python-hook-examples.py
author Erik Zielke <ez@aragost.com>
Mon, 22 Nov 2010 14:36:57 +0100
branchstable
changeset 13124 cc5f0c0c19bc
parent 7918 62f11ef0df5b
child 13878 a8d13ee0ce68
permissions -rw-r--r--
eol: improve help on whether EOLs are changed in working copy or repository Improved help to make it more clear for users which changes are only changes in the working copy and which changes that will go into the repository (on the following commit). Futhermore a note on when the rules will be applied to the working directory.

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