##// END OF EJS Templates
revbranchcache: advertise and use 'rbc' exchange capability...
revbranchcache: advertise and use 'rbc' exchange capability The feature is now advertised and use. Updating the branchmap cache can be very expensive (up to minutes on large repository) and fetching revision branch data is about 80% of that. Exchanging the rev branch cache over the wire really help to recover from branch map invalidation. (There is a good chance other in flight chance would conflict on test-http-bad-server.t and other. So here is a small note to help update that test again: capabilities=19bytes, part-107bytes)

File last commit:

r36463:e8d37838 default
r36986:2090044a default
Show More
test-template-engine.t
74 lines | 2.1 KiB | text/troff | Tads3Lexer
/ tests / test-template-engine.t
$ cat > engine.py << EOF
>
> from mercurial import (
> templater,
> templateutil,
> )
>
> class mytemplater(object):
> def __init__(self, loader, filters, defaults, resources, aliases):
> self.loader = loader
> self._defaults = defaults
> self._resources = resources
>
> def symbol(self, mapping, key):
> return mapping[key]
>
> def resource(self, mapping, key):
> v = self._resources[key]
> if v is None:
> v = mapping[key]
> return v
>
> def process(self, t, map):
> tmpl = self.loader(t)
> props = self._defaults.copy()
> props.update(map)
> for k, v in props.items():
> if k in ('templ', 'ctx', 'repo', 'revcache', 'cache', 'troubles'):
> continue
> if callable(v) and getattr(v, '_requires', None) is None:
> props = self._resources.copy()
> props.update(map)
> v = v(**props)
> elif callable(v):
> v = v(self, props)
> v = templateutil.stringify(v)
> tmpl = tmpl.replace('{{%s}}' % k, v)
> yield tmpl
>
> templater.engines['my'] = mytemplater
> EOF
$ hg init test
$ echo '[extensions]' > test/.hg/hgrc
$ echo "engine = `pwd`/engine.py" >> test/.hg/hgrc
$ cd test
$ cat > mymap << EOF
> changeset = my:changeset.txt
> EOF
$ cat > changeset.txt << EOF
> {{rev}} {{node}} {{author}}
> EOF
$ hg ci -Ama
adding changeset.txt
adding mymap
$ hg log --style=./mymap
0 97e5f848f0936960273bbf75be6388cd0350a32b test
$ cat > changeset.txt << EOF
> {{p1rev}} {{p1node}} {{p2rev}} {{p2node}}
> EOF
$ hg ci -Ama
$ hg log --style=./mymap
0 97e5f848f0936960273bbf75be6388cd0350a32b -1 0000000000000000000000000000000000000000
-1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000
invalid engine type:
$ echo 'changeset = unknown:changeset.txt' > unknownenginemap
$ hg log --style=./unknownenginemap
abort: invalid template engine: unknown
[255]
$ cd ..