contrib/python-hook-examples.py
author Mads Kiilerich <mads@kiilerich.com>
Fri, 01 Jul 2011 17:37:09 +0200
branchstable
changeset 14825 de9eb6b1da4f
parent 13878 a8d13ee0ce68
child 28562 2b585677220e
permissions -rw-r--r--
util: rename the util.localpath that uses url to urllocalpath (issue2875) util is never imported by any other name than util, so this is mostly just a simple search and replace from util.localpath to util.urllocalpath (assuming other uses of util.localpath already has been renamed).

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