10 |
10 |
11 $ cat > commitwrapper.py <<EOF |
11 $ cat > commitwrapper.py <<EOF |
12 > from mercurial import extensions, node, revlog |
12 > from mercurial import extensions, node, revlog |
13 > |
13 > |
14 > def reposetup(ui, repo): |
14 > def reposetup(ui, repo): |
15 > def wrapcommit(orig, *args, **kwargs): |
15 > class wraprepo(repo.__class__): |
16 > result = orig(*args, **kwargs) |
16 > def commit(self, *args, **kwargs): |
17 > tip1 = node.short(repo.changelog.tip()) |
17 > result = super(wraprepo, self).commit(*args, **kwargs) |
18 > tip2 = node.short(repo.lookup(tip1)) |
18 > tip1 = node.short(repo.changelog.tip()) |
19 > assert tip1 == tip2 |
19 > tip2 = node.short(repo.lookup(tip1)) |
20 > ui.write('new tip: %s\n' % tip1) |
20 > assert tip1 == tip2 |
21 > return result |
21 > ui.write('new tip: %s\n' % tip1) |
22 > |
22 > return result |
23 > extensions.wrapfunction(repo, 'commit', wrapcommit) |
23 > repo.__class__ = wraprepo |
24 > |
24 > |
25 > def extsetup(ui): |
25 > def extsetup(ui): |
26 > revlog._maxinline = 8 # split out 00changelog.d early |
26 > revlog._maxinline = 8 # split out 00changelog.d early |
27 > revlog._prereadsize = 8 # use revlog.lazyparser |
27 > revlog._prereadsize = 8 # use revlog.lazyparser |
28 > EOF |
28 > EOF |