Show More
python-hook-examples.py
26 lines
| 594 B
| text/x-python
|
PythonLexer
/ contrib / python-hook-examples.py
|
r7917 | ''' | ||
|
r7918 | Examples of useful python hooks for Mercurial. | ||
|
r7917 | ''' | ||
|
r28562 | from mercurial import ( | ||
patch, | ||||
util, | ||||
) | ||||
|
r7917 | |||
|
r43346 | |||
|
r7917 | def diffstat(ui, repo, **kwargs): | ||
|
r46554 | """Example usage: | ||
|
r7917 | |||
[hooks] | ||||
commit.diffstat = python:/path/to/this/file.py:diffstat | ||||
changegroup.diffstat = python:/path/to/this/file.py:diffstat | ||||
|
r46554 | """ | ||
|
r7917 | if kwargs.get('parent2'): | ||
return | ||||
node = kwargs['node'] | ||||
|
r13878 | first = repo[node].p1().node() | ||
|
r7917 | if 'url' in kwargs: | ||
|
r39931 | last = repo.changelog.tip() | ||
|
r7917 | else: | ||
last = node | ||||
diff = patch.diff(repo, first, last) | ||||
ui.write(patch.diffstat(util.iterlines(diff))) | ||||