Mercurial > hg
annotate contrib/python-hook-examples.py @ 18331:e68cec5e28b0
merge: remove redundant unlink after merge
The early prescan for move/remove and removal of moved files in applyupdates
was introduced with mergestate 368a4ec603cc and rendered this chunk of code
irrelevant.
The impact of the chunk was reduced in 5b3383ea67d2 - but it could have been
removed completely.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 09 Jan 2013 00:01:33 +0100 |
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))) |