view contrib/python-hook-examples.py @ 8694:ca8d05e1f1d1

localrepo: set heads and branchheads to be closed=False by default The heads(...) and branchheads(...) functions will now only return closed heads when explicitly asked for them. This will cause 'hg merge' to have better behavior in the presence of a branch that has closed heads when no explicit rev is passed.
author John Mulligan <phlogistonjohn@asynchrono.us>
date Wed, 03 Jun 2009 13:42:55 +0200
parents 62f11ef0df5b
children a8d13ee0ce68
line wrap: on
line source

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