Mercurial > hg
view contrib/python-hook-examples.py @ 21405:dcf20f244c2a
cmdutil: introduce "getcommiteditor()" to simplify code paths to choose editor
"getcommiteditor()" can simplify code paths to choose commit editor
according to '--edit' option as below:
before:
editor = cmdutil.commiteditor # or editor = None/False
if opts.get('edit'):
editor = cmdutil.commitforceeditor
after:
editor = cmdutil.getcommiteditor(**opts)
"getcommiteditor()" accepts option arguments not in "opts" style but
in "**opts" style, because some code paths want to invoke it with just
explicit "edit=True" argument (building dictionary is redundant).
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sun, 11 May 2014 00:49:35 +0900 |
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)))