annotate tests/test-debugindexdot.t @ 23167:a3c2d9211294 stable

templater: don't overwrite the keyword mapping in runsymbol() (issue4362) This keyword remapping was introduced in e06e9fd2d99f as part of converting generator based iterators into list based iterators, mentioning "undesired behavior in template" when a generator is exhausted, but doesn't say what and introduces no tests. The problem with the remapping was that it corrupted the output for keywords like 'extras', 'file_copies' and 'file_copies_switch' in templates such as: $ hg log -r 142b5d5ec9cc --template "{file_copies % ' File: {file_copy}\n'}" File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) File: mercurial/changelog.py (mercurial/hg.py) What was happening was that in the first call to runtemplate() inside runmap(), 'lm' mapped the keyword (e.g. file_copies) to the appropriate showxxx() method. On each subsequent call to runtemplate() in that loop however, the keyword was mapped to a list of the first item's pieces, e.g.: 'file_copy': ['mercurial/changelog.py', ' (', 'mercurial/hg.py', ')'] Therefore, the dict for the second and any subsequent items were not processed through the corresponding showxxx() method, and the first item's data was reused. The 'extras' keyword regressed in de7e6c489412, and 'file_copies' regressed in 0b241d7a8c62 for other reasons. The common thread of things fixed by this seems to be when a list of dicts are passed to the templatekw._hybrid class.
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 03 Nov 2014 12:08:03 -0500
parents a03c3ba3e4b5
children 435481393198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17490
a03c3ba3e4b5 spelling: exercise
timeless@mozdev.org
parents: 16913
diff changeset
1 Just exercise debugindexdot
11923
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
2 Create a short file history including a merge.
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
3 $ hg init t
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
4 $ cd t
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
5 $ echo a > a
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
6 $ hg ci -qAm t1 -d '0 0'
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
7 $ echo a >> a
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
8 $ hg ci -m t2 -d '1 0'
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
9 $ hg up -qC 0
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
10 $ echo b >> a
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
11 $ hg ci -m t3 -d '2 0'
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
12 created new head
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
13 $ HGMERGE=true hg merge -q
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
14 $ hg ci -m merge -d '3 0'
5346
8838fe5a236f Test debugindexdot
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
15
11923
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
16 $ hg debugindexdot .hg/store/data/a.i
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
17 digraph G {
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
18 -1 -> 0
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
19 0 -> 1
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
20 0 -> 2
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
21 2 -> 3
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
22 1 -> 3
be74ba87acaf tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 5346
diff changeset
23 }
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 11923
diff changeset
24
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 11923
diff changeset
25 $ cd ..