Mercurial > hg
annotate tests/test-convert-bzr-merges.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 | f2719b387380 |
children | 89872688893f |
rev | line source |
---|---|
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
1 N.B. bzr 1.13 has a bug that breaks this test. If you see this |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
2 test fail, check your bzr version. Upgrading to bzr 1.13.1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
3 should fix it. |
7053 | 4 |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
5 $ . "$TESTDIR/bzr-definitions" |
8084
5b3fee9c1f4d
Add comment about this test failing under bzr 1.13 due to a bug in bzr.
Greg Ward <greg-hg@gerg.ca>
parents:
7604
diff
changeset
|
6 |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
7 test multiple merges at once |
7053 | 8 |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
9 $ mkdir test-multimerge |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
10 $ cd test-multimerge |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
11 $ bzr init -q source |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
12 $ cd source |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
13 $ echo content > file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
14 $ bzr add -q file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
15 $ bzr commit -q -m 'Initial add' |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
16 $ cd .. |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
17 $ bzr branch -q source source-branch1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
18 $ cd source-branch1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
19 $ echo morecontent >> file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
20 $ echo evenmorecontent > file-branch1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
21 $ bzr add -q file-branch1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
22 $ bzr commit -q -m 'Added branch1 file' |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
23 $ cd ../source |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
24 $ sleep 1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
25 $ echo content > file-parent |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
26 $ bzr add -q file-parent |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
27 $ bzr commit -q -m 'Added parent file' |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
28 $ cd .. |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
29 $ bzr branch -q source source-branch2 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
30 $ cd source-branch2 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
31 $ echo somecontent > file-branch2 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
32 $ bzr add -q file-branch2 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
33 $ bzr commit -q -m 'Added brach2 file' |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
34 $ sleep 1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
35 $ cd ../source |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
36 $ bzr merge -q ../source-branch1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
37 $ bzr merge -q --force ../source-branch2 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
38 $ bzr commit -q -m 'Merged branches' |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
39 $ cd .. |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
40 $ hg convert --datesort source source-hg |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
41 initializing destination source-hg repository |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
42 scanning source... |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
43 sorting... |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
44 converting... |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
45 4 Initial add |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
46 3 Added branch1 file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
47 2 Added parent file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
48 1 Added brach2 file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
49 0 Merged branches |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
50 $ glog -R source-hg |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12516
diff
changeset
|
51 o 5@source "(octopus merge fixup)" files: |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
52 |\ |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12516
diff
changeset
|
53 | o 4@source "Merged branches" files: file-branch2 |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
54 | |\ |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12516
diff
changeset
|
55 o---+ 3@source-branch2 "Added brach2 file" files: file-branch2 |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
56 / / |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12516
diff
changeset
|
57 | o 2@source "Added parent file" files: file-parent |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
58 | | |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12516
diff
changeset
|
59 o | 1@source-branch1 "Added branch1 file" files: file file-branch1 |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
60 |/ |
16060
f84dda152a55
convert/bzr: convert all branches (issue3229) (BC)
Patrick Mezard <pmezard@gmail.com>
parents:
12516
diff
changeset
|
61 o 0@source "Initial add" files: file |
12516
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
62 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
63 $ manifest source-hg tip |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
64 % manifest of tip |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
65 644 file |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
66 644 file-branch1 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
67 644 file-branch2 |
90efbd1a2a56
tests: unify test-convert-bzr-merges
Matt Mackall <mpm@selenic.com>
parents:
8084
diff
changeset
|
68 644 file-parent |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16060
diff
changeset
|
69 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16060
diff
changeset
|
70 $ cd .. |