Mercurial > hg
annotate tests/test-convert-svn-tags.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 | 7a9cbb315d84 |
children |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
20117
diff
changeset
|
1 #require svn svn-bindings |
6398
0e91ef0b52e7
Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
13519
43b3b761d9d1
tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents:
12370
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
4 > [extensions] |
17347
2da47de36b6f
check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents:
13519
diff
changeset
|
5 > convert = |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
6 > EOF |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
7 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
8 $ svnadmin create svn-repo |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
9 $ svnadmin load -q svn-repo < "$TESTDIR/svn/tags.svndump" |
6398
0e91ef0b52e7
Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
11 Convert |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
12 $ hg convert --datesort svn-repo A-hg |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
13 initializing destination A-hg repository |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
14 scanning source... |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
15 sorting... |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
16 converting... |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
17 5 init projA |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
18 4 adda |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
19 3 changea |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
20 2 changea2 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
21 1 changea3 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
22 0 changea |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
23 updating tags |
6398
0e91ef0b52e7
Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
24 |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
25 $ cd A-hg |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
17347
diff
changeset
|
26 $ hg log -G --template '{rev} {desc|firstline} tags: {tags}\n' |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
27 o 6 update tags tags: tip |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
28 | |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
29 o 5 changea tags: trunk.goodtag |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
30 | |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
31 o 4 changea3 tags: |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
32 | |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
33 o 3 changea2 tags: trunk.v1 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
34 | |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
35 o 2 changea tags: |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
36 | |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
37 o 1 adda tags: |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
38 | |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
39 o 0 init projA tags: |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
40 |
6398
0e91ef0b52e7
Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
41 |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
42 $ hg tags -q |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
43 tip |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
44 trunk.goodtag |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
45 trunk.v1 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
46 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
47 $ cd .. |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
48 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
49 Convert without tags |
6400
c237b27e1350
convert: allow tags detection to be disabled
Patrick Mezard <pmezard@gmail.com>
parents:
6399
diff
changeset
|
50 |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
51 $ hg convert --datesort --config convert.svn.tags= svn-repo A-notags-hg |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
52 initializing destination A-notags-hg repository |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
53 scanning source... |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
54 sorting... |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
55 converting... |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
56 5 init projA |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
57 4 adda |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
58 3 changea |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
59 2 changea2 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
60 1 changea3 |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
61 0 changea |
6400
c237b27e1350
convert: allow tags detection to be disabled
Patrick Mezard <pmezard@gmail.com>
parents:
6399
diff
changeset
|
62 |
12370
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
63 $ hg -R A-notags-hg tags -q |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
64 tip |
f98010f57a5e
tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10200
diff
changeset
|
65 |