Mercurial > hg
annotate tests/test-template-engine.t @ 25480:d410336fdb3c
push: make pushkey part advisory
The current behavior (with bundle1) is to let the rest of the push succeed if
the pushkey call (phases, bookmarks) failed (this comes from the fact that each
item is sent in its own command).
We kept this behavior with bundle2, which is highly debatable, but let us keep
thing as they are now as a start. We are about to enforce 'mandatory' pushkey
part as 'mandatory' successful, so we need to marks parts as advisory to
preserve the current (debatable) behavior.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 27 May 2015 05:35:00 -0700 |
parents | 2917f82f6040 |
children | f580c78ea667 |
rev | line source |
---|---|
8361
d8c5a7f25a40
templater: make the templating engine pluggable to some extent
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
1 |
12493
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
2 $ cat > engine.py << EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
3 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
4 > from mercurial import templater |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
5 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
6 > class mytemplater(object): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
7 > def __init__(self, loader, filters, defaults): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
8 > self.loader = loader |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
9 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
10 > def process(self, t, map): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
11 > tmpl = self.loader(t) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
12 > for k, v in map.iteritems(): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
13 > if k in ('templ', 'ctx', 'repo', 'revcache', 'cache'): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
14 > continue |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
15 > if hasattr(v, '__call__'): |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
16 > v = v(**map) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
17 > v = templater.stringify(v) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
18 > tmpl = tmpl.replace('{{%s}}' % k, v) |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
19 > yield tmpl |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
20 > |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
21 > templater.engines['my'] = mytemplater |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
22 > EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
23 $ hg init test |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
24 $ echo '[extensions]' > test/.hg/hgrc |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
25 $ echo "engine = `pwd`/engine.py" >> test/.hg/hgrc |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
26 $ cd test |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
27 $ cat > mymap << EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
28 > changeset = my:changeset.txt |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
29 > EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
30 $ cat > changeset.txt << EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
31 > {{rev}} {{node}} {{author}} |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
32 > EOF |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
33 $ hg ci -Ama |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
34 adding changeset.txt |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
35 adding mymap |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
36 $ hg log --style=./mymap |
dc6b9b3bf63e
tests: unify test-template-engine
Matt Mackall <mpm@selenic.com>
parents:
10057
diff
changeset
|
37 0 97e5f848f0936960273bbf75be6388cd0350a32b test |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12493
diff
changeset
|
38 |
17355
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
39 $ cat > changeset.txt << EOF |
17358
2917f82f6040
templatekw: merge, preferring the second implementation
Bryan O'Sullivan <bryano@fb.com>
parents:
17355
diff
changeset
|
40 > {{p1rev}} {{p1node}} {{p2rev}} {{p2node}} |
17355
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
41 > EOF |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
42 $ hg ci -Ama |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
43 $ hg log --style=./mymap |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
44 0 97e5f848f0936960273bbf75be6388cd0350a32b -1 0000000000000000000000000000000000000000 |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
45 -1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000 |
c25531ed58b0
templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net>
parents:
16913
diff
changeset
|
46 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12493
diff
changeset
|
47 $ cd .. |