Mercurial > hg-stable
view contrib/python-hook-examples.py @ 24982:5c15f7e0f52b
run-tests: stop explicit expansion of time data
We are about to record more complex time-related data, which will require
repeated changes of every loop touching times data. That will also extend such
lines to a point where things become too long. Instead, we iterate on each entry
and expand values in the loops. We keep intermediate variables in most cases to
preserve readability.
The loop producing json data does a strange inversion for no obvious reason. We
preserved that for now and will fix it in another changeset.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 07 May 2015 20:45:51 -0700 |
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)))