view contrib/python-hook-examples.py @ 17241:c2f13180001f stable

histedit: end folding message with an LF This is convenient when running tests dumping the editor content, it avoids the following output line to be mixed with histedit message.
author Patrick Mezard <patrick@mezard.eu>
date Wed, 25 Jul 2012 11:09:51 +0200
parents a8d13ee0ce68
children 2b585677220e
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].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)))