Mercurial > public > mercurial-scm > hg
annotate contrib/python-hook-examples.py @ 24501:8b51ec98a326
test-git-export: add globs the test runner wants on Windows
The only difference for the first two was to add the globs, but the third line
of output on Windows was '..\dir2\copy'. I'm not sure why 'copy' is output on
Windows instead of '*'.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 29 Mar 2015 00:00:14 -0400 |
parents | a8d13ee0ce68 |
children | 2b585677220e |
rev | line source |
---|---|
7917
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
1 ''' |
7918
62f11ef0df5b
Change wording in example hook
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7917
diff
changeset
|
2 Examples of useful python hooks for Mercurial. |
7917
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
3 ''' |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
4 from mercurial import patch, util |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
5 |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
6 def diffstat(ui, repo, **kwargs): |
7918
62f11ef0df5b
Change wording in example hook
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7917
diff
changeset
|
7 '''Example usage: |
7917
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
8 |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
9 [hooks] |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
10 commit.diffstat = python:/path/to/this/file.py:diffstat |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
11 changegroup.diffstat = python:/path/to/this/file.py:diffstat |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
12 ''' |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
13 if kwargs.get('parent2'): |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
14 return |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
15 node = kwargs['node'] |
13878
a8d13ee0ce68
misc: replace .parents()[0] with p1()
Matt Mackall <mpm@selenic.com>
parents:
7918
diff
changeset
|
16 first = repo[node].p1().node() |
7917
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
17 if 'url' in kwargs: |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
18 last = repo['tip'].node() |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
19 else: |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
20 last = node |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
21 diff = patch.diff(repo, first, last) |
5a5396f49420
diffstat hook example
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff
changeset
|
22 ui.write(patch.diffstat(util.iterlines(diff))) |