##// END OF EJS Templates
perf: run the gc before each run...
perf: run the gc before each run The python garbage collector is a large source of performance troubles, we run it right before the timed section to reduce the change for the gc to add noise to the benchmark.

File last commit:

r49730:6000f5b2 default
r52483:a6bdd2e6 default
Show More
python-hook-examples.py
26 lines | 594 B | text/x-python | PythonLexer
/ contrib / python-hook-examples.py
Alexander Solovyov
diffstat hook example
r7917 '''
Benoit Boissinot
Change wording in example hook
r7918 Examples of useful python hooks for Mercurial.
Alexander Solovyov
diffstat hook example
r7917 '''
Pulkit Goyal
contrib: python-hook-examples use absolute_import
r28562 from mercurial import (
patch,
util,
)
Alexander Solovyov
diffstat hook example
r7917
Augie Fackler
formatting: blacken the codebase...
r43346
Alexander Solovyov
diffstat hook example
r7917 def diffstat(ui, repo, **kwargs):
Augie Fackler
formating: upgrade to black 20.8b1...
r46554 """Example usage:
Alexander Solovyov
diffstat hook example
r7917
[hooks]
commit.diffstat = python:/path/to/this/file.py:diffstat
changegroup.diffstat = python:/path/to/this/file.py:diffstat
Augie Fackler
formating: upgrade to black 20.8b1...
r46554 """
Alexander Solovyov
diffstat hook example
r7917 if kwargs.get('parent2'):
return
node = kwargs['node']
Matt Mackall
misc: replace .parents()[0] with p1()
r13878 first = repo[node].p1().node()
Alexander Solovyov
diffstat hook example
r7917 if 'url' in kwargs:
Martin von Zweigbergk
repo: don't look up context for tip node if it's not needed...
r39931 last = repo.changelog.tip()
Alexander Solovyov
diffstat hook example
r7917 else:
last = node
diff = patch.diff(repo, first, last)
ui.write(patch.diffstat(util.iterlines(diff)))