Mercurial > hg
annotate tests/test-template-functions.t @ 41163:0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
There was a divergence in behavior here between obsolete and strip based
amending. I first noticed the abort when testing outside of the test harness,
but then had trouble recreating it here after reverting the code changes. It
turns out, strip based amend was successfully amending the public commit after
it was posted! It looks like the protection is in the `commit --amend` command,
not in the underlying code that it calls.
I considered doing a preflight check and aborting. But the locks are only
acquired at the end, if amending, and this is too large a section of code to be
wrapped in a maybe-it's-held-or-not context manager for my tastes.
Additionally, some people do post-push reviews, and amending is the default
behavior, so they shouldn't see a misleading error message.
The lack of a 'Differential Revision' entry in the commit message breaks a
{phabreview} test, so it had to be partially conditionalized.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 05 Jan 2019 15:20:33 -0500 |
parents | 4591c9791a82 |
children | 6704696141b8 |
rev | line source |
---|---|
38434
70f551a3f52e
tests: extract test-template-functions.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org>
parents:
38433
diff
changeset
|
1 Test template filters and functions |
70f551a3f52e
tests: extract test-template-functions.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org>
parents:
38433
diff
changeset
|
2 =================================== |
70f551a3f52e
tests: extract test-template-functions.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org>
parents:
38433
diff
changeset
|
3 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
4 $ hg init a |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
5 $ cd a |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
6 $ echo a > a |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
7 $ hg add a |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
8 $ echo line 1 > b |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
9 $ echo line 2 >> b |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
10 $ hg commit -l b -d '1000000 0' -u 'User Name <user@hostname>' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
11 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
12 $ hg add b |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
13 $ echo other 1 > c |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
14 $ echo other 2 >> c |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
15 $ echo >> c |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
16 $ echo other 3 >> c |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
17 $ hg commit -l c -d '1100000 0' -u 'A. N. Other <other@place>' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
18 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
19 $ hg add c |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
20 $ hg commit -m 'no person' -d '1200000 0' -u 'other@place' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
21 $ echo c >> c |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
22 $ hg commit -m 'no user, no domain' -d '1300000 0' -u 'person' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
23 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
24 $ echo foo > .hg/branch |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
25 $ hg commit -m 'new branch' -d '1400000 0' -u 'person' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
26 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
27 $ hg co -q 3 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
28 $ echo other 4 >> d |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
29 $ hg add d |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
30 $ hg commit -m 'new head' -d '1500000 0' -u 'person' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
31 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
32 $ hg merge -q foo |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
33 $ hg commit -m 'merge' -d '1500001 0' -u 'person' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
34 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
35 Second branch starting at nullrev: |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
36 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
37 $ hg update null |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
38 0 files updated, 0 files merged, 4 files removed, 0 files unresolved |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
39 $ echo second > second |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
40 $ hg add second |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
41 $ hg commit -m second -d '1000000 0' -u 'User Name <user@hostname>' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
42 created new head |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
43 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
44 $ echo third > third |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
45 $ hg add third |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
46 $ hg mv second fourth |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
47 $ hg commit -m third -d "2020-01-01 10:01" |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
48 |
22764
1e2f54a149e8
templater: set the correct phase for parents
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22668
diff
changeset
|
49 $ hg phase -r 5 --public |
1e2f54a149e8
templater: set the correct phase for parents
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
22668
diff
changeset
|
50 $ hg phase -r 7 --secret --force |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
51 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
52 Filters work: |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
53 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
54 $ hg log --template '{author|domain}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
55 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
56 hostname |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
57 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
58 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
59 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
60 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
61 place |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
62 place |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
63 hostname |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
64 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
65 $ hg log --template '{author|person}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
66 test |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
67 User Name |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
68 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
69 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
70 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
71 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
72 other |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
73 A. N. Other |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
74 User Name |
9536
f04d17912441
cmdutil: templating keywords latesttag and latesttagdistance
Mads Kiilerich <mads@kiilerich.com>
parents:
9382
diff
changeset
|
75 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
76 $ hg log --template '{author|user}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
77 test |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
78 user |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
79 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
80 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
81 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
82 person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
83 other |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
84 other |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
85 user |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
86 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
87 $ hg log --template '{date|date}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
88 Wed Jan 01 10:01:00 2020 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
89 Mon Jan 12 13:46:40 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
90 Sun Jan 18 08:40:01 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
91 Sun Jan 18 08:40:00 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
92 Sat Jan 17 04:53:20 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
93 Fri Jan 16 01:06:40 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
94 Wed Jan 14 21:20:00 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
95 Tue Jan 13 17:33:20 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
96 Mon Jan 12 13:46:40 1970 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
97 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
98 $ hg log --template '{date|isodate}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
99 2020-01-01 10:01 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
100 1970-01-12 13:46 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
101 1970-01-18 08:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
102 1970-01-18 08:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
103 1970-01-17 04:53 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
104 1970-01-16 01:06 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
105 1970-01-14 21:20 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
106 1970-01-13 17:33 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
107 1970-01-12 13:46 +0000 |
9536
f04d17912441
cmdutil: templating keywords latesttag and latesttagdistance
Mads Kiilerich <mads@kiilerich.com>
parents:
9382
diff
changeset
|
108 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
109 $ hg log --template '{date|isodatesec}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
110 2020-01-01 10:01:00 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
111 1970-01-12 13:46:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
112 1970-01-18 08:40:01 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
113 1970-01-18 08:40:00 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
114 1970-01-17 04:53:20 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
115 1970-01-16 01:06:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
116 1970-01-14 21:20:00 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
117 1970-01-13 17:33:20 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
118 1970-01-12 13:46:40 +0000 |
9536
f04d17912441
cmdutil: templating keywords latesttag and latesttagdistance
Mads Kiilerich <mads@kiilerich.com>
parents:
9382
diff
changeset
|
119 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
120 $ hg log --template '{date|rfc822date}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
121 Wed, 01 Jan 2020 10:01:00 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
122 Mon, 12 Jan 1970 13:46:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
123 Sun, 18 Jan 1970 08:40:01 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
124 Sun, 18 Jan 1970 08:40:00 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
125 Sat, 17 Jan 1970 04:53:20 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
126 Fri, 16 Jan 1970 01:06:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
127 Wed, 14 Jan 1970 21:20:00 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
128 Tue, 13 Jan 1970 17:33:20 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
129 Mon, 12 Jan 1970 13:46:40 +0000 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
130 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
131 $ hg log --template '{desc|firstline}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
132 third |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
133 second |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
134 merge |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
135 new head |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
136 new branch |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
137 no user, no domain |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
138 no person |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
139 other 1 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
140 line 1 |
9536
f04d17912441
cmdutil: templating keywords latesttag and latesttagdistance
Mads Kiilerich <mads@kiilerich.com>
parents:
9382
diff
changeset
|
141 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
142 $ hg log --template '{node|short}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
143 95c24699272e |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
144 29114dbae42b |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13666
diff
changeset
|
145 d41e714fe50d |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
146 13207e5a10d9 |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13666
diff
changeset
|
147 bbe44766e73d |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
148 10e46f2dcbf4 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
149 97054abb4ab8 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
150 b608e9d1a3f0 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
151 1e4e1b8f71e0 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
152 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
153 $ hg log --template '<changeset author="{author|xmlescape}"/>\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
154 <changeset author="test"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
155 <changeset author="User Name <user@hostname>"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
156 <changeset author="person"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
157 <changeset author="person"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
158 <changeset author="person"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
159 <changeset author="person"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
160 <changeset author="other@place"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
161 <changeset author="A. N. Other <other@place>"/> |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
162 <changeset author="User Name <user@hostname>"/> |
9536
f04d17912441
cmdutil: templating keywords latesttag and latesttagdistance
Mads Kiilerich <mads@kiilerich.com>
parents:
9382
diff
changeset
|
163 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
164 $ hg log --template '{rev}: {children}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
165 8: |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
166 7: 8:95c24699272e |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
167 6: |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13666
diff
changeset
|
168 5: 6:d41e714fe50d |
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13666
diff
changeset
|
169 4: 6:d41e714fe50d |
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13666
diff
changeset
|
170 3: 4:bbe44766e73d 5:13207e5a10d9 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
171 2: 3:10e46f2dcbf4 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
172 1: 2:97054abb4ab8 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
173 0: 1:b608e9d1a3f0 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
174 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
175 Formatnode filter works: |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
176 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
177 $ hg -q log -r 0 --template '{node|formatnode}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
178 1e4e1b8f71e0 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
179 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
180 $ hg log -r 0 --template '{node|formatnode}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
181 1e4e1b8f71e0 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
182 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
183 $ hg -v log -r 0 --template '{node|formatnode}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
184 1e4e1b8f71e0 |
9536
f04d17912441
cmdutil: templating keywords latesttag and latesttagdistance
Mads Kiilerich <mads@kiilerich.com>
parents:
9382
diff
changeset
|
185 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
186 $ hg --debug log -r 0 --template '{node|formatnode}\n' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
187 1e4e1b8f71e05681d422154f5421e385fec3454f |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
188 |
15839
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
189 Age filter: |
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
190 |
25005
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
191 $ hg init unstable-hash |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
192 $ cd unstable-hash |
15839
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
193 $ hg log --template '{date|age}\n' > /dev/null || exit 1 |
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
194 |
33950
42361715dd11
tests: update test-command-template to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33865
diff
changeset
|
195 >>> from __future__ import absolute_import |
42361715dd11
tests: update test-command-template to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33865
diff
changeset
|
196 >>> import datetime |
36504
b075f45456a5
py3: fix test-command-template.t to write files in binary mode
Yuya Nishihara <yuya@tcha.org>
parents:
36445
diff
changeset
|
197 >>> fp = open('a', 'wb') |
33950
42361715dd11
tests: update test-command-template to pass our import checker
Augie Fackler <raf@durin42.com>
parents:
33865
diff
changeset
|
198 >>> n = datetime.datetime.now() + datetime.timedelta(366 * 7) |
36542
106e93d16435
py3: silence return value of file.write() in test-command-template.t
Yuya Nishihara <yuya@tcha.org>
parents:
36504
diff
changeset
|
199 >>> fp.write(b'%d-%d-%d 00:00' % (n.year, n.month, n.day)) and None |
15839
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
200 >>> fp.close() |
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
201 $ hg add a |
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
202 $ hg commit -m future -d "`cat a`" |
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
203 |
17345
4f8054d3171b
check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents:
17334
diff
changeset
|
204 $ hg log -l1 --template '{date|age}\n' |
15839
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
205 7 years from now |
43317af36d28
tests: make {date|age} template output independent of the current date
Steven Brown <StevenGBrown@gmail.com>
parents:
15773
diff
changeset
|
206 |
25005
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
207 $ cd .. |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
208 $ rm -rf unstable-hash |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
209 |
35539
d1aae6d4efc5
templatefilters: fix doc of basename()
Yuya Nishihara <yuya@tcha.org>
parents:
34866
diff
changeset
|
210 Filename filters: |
d1aae6d4efc5
templatefilters: fix doc of basename()
Yuya Nishihara <yuya@tcha.org>
parents:
34866
diff
changeset
|
211 |
d1aae6d4efc5
templatefilters: fix doc of basename()
Yuya Nishihara <yuya@tcha.org>
parents:
34866
diff
changeset
|
212 $ hg debugtemplate '{"foo/bar"|basename}|{"foo/"|basename}|{"foo"|basename}|\n' |
d1aae6d4efc5
templatefilters: fix doc of basename()
Yuya Nishihara <yuya@tcha.org>
parents:
34866
diff
changeset
|
213 bar||foo| |
36246
9ee10b3284da
templatefilters: add dirname() filter
Yuya Nishihara <yuya@tcha.org>
parents:
35751
diff
changeset
|
214 $ hg debugtemplate '{"foo/bar"|dirname}|{"foo/"|dirname}|{"foo"|dirname}|\n' |
9ee10b3284da
templatefilters: add dirname() filter
Yuya Nishihara <yuya@tcha.org>
parents:
35751
diff
changeset
|
215 foo|foo|| |
9ee10b3284da
templatefilters: add dirname() filter
Yuya Nishihara <yuya@tcha.org>
parents:
35751
diff
changeset
|
216 $ hg debugtemplate '{"foo/bar"|stripdir}|{"foo/"|stripdir}|{"foo"|stripdir}|\n' |
9ee10b3284da
templatefilters: add dirname() filter
Yuya Nishihara <yuya@tcha.org>
parents:
35751
diff
changeset
|
217 foo|foo|foo| |
35539
d1aae6d4efc5
templatefilters: fix doc of basename()
Yuya Nishihara <yuya@tcha.org>
parents:
34866
diff
changeset
|
218 |
38435
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
219 commondir() filter: |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
220 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
221 $ hg debugtemplate '{""|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
222 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
223 $ hg debugtemplate '{"foo/bar\nfoo/baz\nfoo/foobar\n"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
224 foo |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
225 $ hg debugtemplate '{"foo/bar\nfoo/bar\n"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
226 foo |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
227 $ hg debugtemplate '{"/foo/bar\n/foo/bar\n"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
228 foo |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
229 $ hg debugtemplate '{"/foo\n/foo\n"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
230 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
231 $ hg debugtemplate '{"foo/bar\nbar/baz"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
232 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
233 $ hg debugtemplate '{"foo/bar\nbar/baz\nbar/foo\n"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
234 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
235 $ hg debugtemplate '{"foo/../bar\nfoo/bar"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
236 foo |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
237 $ hg debugtemplate '{"foo\n/foo"|splitlines|commondir}\n' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
238 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
239 |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
240 $ hg log -r null -T '{rev|commondir}' |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
241 hg: parse error: argument is not a list of text |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
242 (template filter 'commondir' is not compatible with keyword 'rev') |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
243 [255] |
6a8ed5c7e112
tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org>
parents:
38434
diff
changeset
|
244 |
25005
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
245 Add a dummy commit to make up for the instability of the above: |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
246 |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
247 $ echo a > a |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
248 $ hg add a |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
249 $ hg ci -m future |
5ddbb024c2e9
tests: fix hidden repeatability problem with age filter test
Matt Mackall <mpm@selenic.com>
parents:
25003
diff
changeset
|
250 |
22668
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
251 Count filter: |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
252 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
253 $ hg log -l1 --template '{node|count} {node|short|count}\n' |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
254 40 12 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
255 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
256 $ hg log -l1 --template '{revset("null^")|count} {revset(".")|count} {revset("0::3")|count}\n' |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
257 0 1 4 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
258 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
259 $ hg log -G --template '{rev}: children: {children|count}, \ |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
260 > tags: {tags|count}, file_adds: {file_adds|count}, \ |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
261 > ancestors: {revset("ancestors(%s)", rev)|count}' |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
262 @ 9: children: 0, tags: 1, file_adds: 1, ancestors: 3 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
263 | |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
264 o 8: children: 1, tags: 0, file_adds: 2, ancestors: 2 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
265 | |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
266 o 7: children: 1, tags: 0, file_adds: 1, ancestors: 1 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
267 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
268 o 6: children: 0, tags: 0, file_adds: 0, ancestors: 7 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
269 |\ |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
270 | o 5: children: 1, tags: 0, file_adds: 1, ancestors: 5 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
271 | | |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
272 o | 4: children: 1, tags: 0, file_adds: 0, ancestors: 5 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
273 |/ |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
274 o 3: children: 2, tags: 0, file_adds: 0, ancestors: 4 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
275 | |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
276 o 2: children: 1, tags: 0, file_adds: 1, ancestors: 3 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
277 | |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
278 o 1: children: 1, tags: 0, file_adds: 1, ancestors: 2 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
279 | |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
280 o 0: children: 1, tags: 0, file_adds: 1, ancestors: 1 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
281 |
13e3f07d74a3
templater: add count template filter, plus tests
Anton Shestakov <engored@ya.ru>
parents:
22588
diff
changeset
|
282 |
37229
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
283 $ hg log -l1 -T '{termwidth|count}\n' |
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
284 hg: parse error: not countable |
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
285 (template filter 'count' is not compatible with keyword 'termwidth') |
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
286 [255] |
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
287 |
24566
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
288 Upper/lower filters: |
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
289 |
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
290 $ hg log -r0 --template '{branch|upper}\n' |
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
291 DEFAULT |
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
292 $ hg log -r0 --template '{author|lower}\n' |
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
293 user name <user@hostname> |
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
294 $ hg log -r0 --template '{date|upper}\n' |
38299
88e7105b5cd9
templater: restore the original string format of {date}
Yuya Nishihara <yuya@tcha.org>
parents:
38289
diff
changeset
|
295 1000000.00 |
24566
6abce80e6cbf
templatefilters: add "upper" and "lower" for case conversion
Yuya Nishihara <yuya@tcha.org>
parents:
24319
diff
changeset
|
296 |
24985
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
297 Add a commit that does all possible modifications at once |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
298 |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
299 $ echo modify >> third |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
300 $ touch b |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
301 $ hg add b |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
302 $ hg mv fourth fifth |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
303 $ hg rm a |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
304 $ hg ci -m "Modify, add, remove, rename" |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
305 |
24280
6c55e37ba5f2
templater: allow piping generator-type function output to filters
Yuya Nishihara <yuya@tcha.org>
parents:
24241
diff
changeset
|
306 Pass generator object created by template function to filter |
6c55e37ba5f2
templater: allow piping generator-type function output to filters
Yuya Nishihara <yuya@tcha.org>
parents:
24241
diff
changeset
|
307 |
6c55e37ba5f2
templater: allow piping generator-type function output to filters
Yuya Nishihara <yuya@tcha.org>
parents:
24241
diff
changeset
|
308 $ hg log -l 1 --template '{if(author, author)|user}\n' |
6c55e37ba5f2
templater: allow piping generator-type function output to filters
Yuya Nishihara <yuya@tcha.org>
parents:
24241
diff
changeset
|
309 test |
6c55e37ba5f2
templater: allow piping generator-type function output to filters
Yuya Nishihara <yuya@tcha.org>
parents:
24241
diff
changeset
|
310 |
22434
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
311 Test diff function: |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
312 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
313 $ hg diff -c 8 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
314 diff -r 29114dbae42b -r 95c24699272e fourth |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
315 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
316 +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
317 @@ -0,0 +1,1 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
318 +second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
319 diff -r 29114dbae42b -r 95c24699272e second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
320 --- a/second Mon Jan 12 13:46:40 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
321 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
322 @@ -1,1 +0,0 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
323 -second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
324 diff -r 29114dbae42b -r 95c24699272e third |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
325 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
326 +++ b/third Wed Jan 01 10:01:00 2020 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
327 @@ -0,0 +1,1 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
328 +third |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
329 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
330 $ hg log -r 8 -T "{diff()}" |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
331 diff -r 29114dbae42b -r 95c24699272e fourth |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
332 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
333 +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
334 @@ -0,0 +1,1 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
335 +second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
336 diff -r 29114dbae42b -r 95c24699272e second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
337 --- a/second Mon Jan 12 13:46:40 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
338 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
339 @@ -1,1 +0,0 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
340 -second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
341 diff -r 29114dbae42b -r 95c24699272e third |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
342 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
343 +++ b/third Wed Jan 01 10:01:00 2020 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
344 @@ -0,0 +1,1 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
345 +third |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
346 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
347 $ hg log -r 8 -T "{diff('glob:f*')}" |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
348 diff -r 29114dbae42b -r 95c24699272e fourth |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
349 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
350 +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
351 @@ -0,0 +1,1 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
352 +second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
353 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
354 $ hg log -r 8 -T "{diff('', 'glob:f*')}" |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
355 diff -r 29114dbae42b -r 95c24699272e second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
356 --- a/second Mon Jan 12 13:46:40 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
357 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
358 @@ -1,1 +0,0 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
359 -second |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
360 diff -r 29114dbae42b -r 95c24699272e third |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
361 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
362 +++ b/third Wed Jan 01 10:01:00 2020 +0000 |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
363 @@ -0,0 +1,1 @@ |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
364 +third |
40ce05b50148
templater: add "diff" template function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22427
diff
changeset
|
365 |
25562
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
366 $ hg log -r 8 -T "{diff('FOURTH'|lower)}" |
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
367 diff -r 29114dbae42b -r 95c24699272e fourth |
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
368 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
369 +++ b/fourth Wed Jan 01 10:01:00 2020 +0000 |
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
370 @@ -0,0 +1,1 @@ |
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
371 +second |
9452112c8eb0
templater: evaluate arguments passed to diff() appropriately
Yuya Nishihara <yuya@tcha.org>
parents:
25471
diff
changeset
|
372 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
373 $ cd .. |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
374 |
38434
70f551a3f52e
tests: extract test-template-functions.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org>
parents:
38433
diff
changeset
|
375 latesttag() function: |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
376 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
377 $ hg init latesttag |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
378 $ cd latesttag |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
379 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
380 $ echo a > file |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
381 $ hg ci -Am a -d '0 0' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
382 adding file |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
383 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
384 $ echo b >> file |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
385 $ hg ci -m b -d '1 0' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
386 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
387 $ echo c >> head1 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
388 $ hg ci -Am h1c -d '2 0' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
389 adding head1 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
390 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
391 $ hg update -q 1 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
392 $ echo d >> head2 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
393 $ hg ci -Am h2d -d '3 0' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
394 adding head2 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
395 created new head |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
396 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
397 $ echo e >> head2 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
398 $ hg ci -m h2e -d '4 0' |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
399 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
400 $ hg merge -q |
19989
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
401 $ hg ci -m merge -d '5 -3600' |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
402 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
403 $ hg tag -r 1 -m t1 -d '6 0' t1 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
404 $ hg tag -r 2 -m t2 -d '7 0' t2 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
405 $ hg tag -r 3 -m t3 -d '8 0' t3 |
33862
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
406 $ hg tag -r 4 -m t4 -d '4 0' t4 # older than t2, but should not matter |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
407 $ hg tag -r 5 -m t5 -d '9 0' t5 |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
408 $ hg tag -r 3 -m at3 -d '10 0' at3 |
33861
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
409 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
410 $ hg log -G --template "{rev}: {latesttag('re:^t[13]$') % '{tag}, C: {changes}, D: {distance}'}\n" |
33862
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
411 @ 11: t3, C: 9, D: 8 |
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
412 | |
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
413 o 10: t3, C: 8, D: 7 |
33861
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
414 | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
415 o 9: t3, C: 7, D: 6 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
416 | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
417 o 8: t3, C: 6, D: 5 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
418 | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
419 o 7: t3, C: 5, D: 4 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
420 | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
421 o 6: t3, C: 4, D: 3 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
422 | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
423 o 5: t3, C: 3, D: 2 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
424 |\ |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
425 | o 4: t3, C: 1, D: 1 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
426 | | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
427 | o 3: t3, C: 0, D: 0 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
428 | | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
429 o | 2: t1, C: 1, D: 1 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
430 |/ |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
431 o 1: t1, C: 0, D: 0 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
432 | |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
433 o 0: null, C: 1, D: 1 |
0e15d5ae52cf
tests: use graph log in {latesttag} tests
Martin von Zweigbergk <martinvonz@google.com>
parents:
33542
diff
changeset
|
434 |
26485
43bf9471fae9
templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents:
26234
diff
changeset
|
435 |
12283
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
436 $ cd .. |
850e089eb41c
tests: unify test-command-template
Adrian Buehlmann <adrian@cadifra.com>
parents:
11656
diff
changeset
|
437 |
38448
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
438 Test filter() empty values: |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
439 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
440 $ hg log -R a -r 1 -T '{filter(desc|splitlines) % "{line}\n"}' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
441 other 1 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
442 other 2 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
443 other 3 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
444 $ hg log -R a -r 0 -T '{filter(dict(a=0, b=1) % "{ifeq(key, "a", "{value}\n")}")}' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
445 0 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
446 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
447 0 should not be falsy |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
448 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
449 $ hg log -R a -r 0 -T '{filter(revset("0:2"))}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
450 0 1 2 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
451 |
38449
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
452 Test filter() by expression: |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
453 |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
454 $ hg log -R a -r 1 -T '{filter(desc|splitlines, ifcontains("1", line, "t"))}\n' |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
455 other 1 |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
456 $ hg log -R a -r 0 -T '{filter(dict(a=0, b=1), ifeq(key, "b", "t"))}\n' |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
457 b=1 |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
458 |
38448
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
459 Test filter() shouldn't crash: |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
460 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
461 $ hg log -R a -r 0 -T '{filter(extras)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
462 branch=default |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
463 $ hg log -R a -r 0 -T '{filter(files)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
464 a |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
465 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
466 Test filter() unsupported arguments: |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
467 |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
468 $ hg log -R a -r 0 -T '{filter()}\n' |
38449
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
469 hg: parse error: filter expects one or two arguments |
38448
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
470 [255] |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
471 $ hg log -R a -r 0 -T '{filter(date)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
472 hg: parse error: date is not iterable |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
473 [255] |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
474 $ hg log -R a -r 0 -T '{filter(rev)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
475 hg: parse error: 0 is not iterable |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
476 [255] |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
477 $ hg log -R a -r 0 -T '{filter(desc|firstline)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
478 hg: parse error: 'line 1' is not filterable |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
479 [255] |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
480 $ hg log -R a -r 0 -T '{filter(manifest)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
481 hg: parse error: '0:a0c8bcbbb45c' is not filterable |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
482 [255] |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
483 $ hg log -R a -r 0 -T '{filter(succsandmarkers)}\n' |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
484 hg: parse error: not filterable without template |
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
485 [255] |
38449
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
486 $ hg log -R a -r 0 -T '{filter(desc|splitlines % "{line}", "")}\n' |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
487 hg: parse error: not filterable by expression |
bc8d925342f0
templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org>
parents:
38448
diff
changeset
|
488 [255] |
38448
dae829b4de78
templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org>
parents:
38447
diff
changeset
|
489 |
38228
8bded7eae26c
templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38227
diff
changeset
|
490 Test manifest/get() can be join()-ed as string, though it's silly: |
8bded7eae26c
templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38227
diff
changeset
|
491 |
8bded7eae26c
templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38227
diff
changeset
|
492 $ hg log -R latesttag -r tip -T '{join(manifest, ".")}\n' |
8bded7eae26c
templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38227
diff
changeset
|
493 1.1.:.2.b.c.6.e.9.0.0.6.c.e.2 |
8bded7eae26c
templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38227
diff
changeset
|
494 $ hg log -R latesttag -r tip -T '{join(get(extras, "branch"), ".")}\n' |
8bded7eae26c
templater: consistently join() string-like object per character (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38227
diff
changeset
|
495 d.e.f.a.u.l.t |
34330
89aec1834a86
templatekw: add new-style template expansion to {manifest}
Yuya Nishihara <yuya@tcha.org>
parents:
34329
diff
changeset
|
496 |
38227
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
497 Test join() over string |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
498 |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
499 $ hg log -R latesttag -r tip -T '{join(rev|stringify, ".")}\n' |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
500 1.1 |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
501 |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
502 Test join() over uniterable |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
503 |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
504 $ hg log -R latesttag -r tip -T '{join(rev, "")}\n' |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
505 hg: parse error: 11 is not iterable |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
506 [255] |
1c8098cf560a
templater: always join() over a wrapped object (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
37947
diff
changeset
|
507 |
34581
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
508 Test min/max of integers |
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
509 |
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
510 $ hg log -R latesttag -l1 -T '{min(revset("9:10"))}\n' |
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
511 9 |
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
512 $ hg log -R latesttag -l1 -T '{max(revset("9:10"))}\n' |
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
513 10 |
ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org>
parents:
34541
diff
changeset
|
514 |
37499
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
515 Test min/max over map operation: |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
516 |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
517 $ hg log -R latesttag -r3 -T '{min(tags % "{tag}")}\n' |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
518 at3 |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
519 $ hg log -R latesttag -r3 -T '{max(tags % "{tag}")}\n' |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
520 t3 |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
521 |
38265
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
522 Test min/max of strings: |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
523 |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
524 $ hg log -R latesttag -l1 -T '{min(desc)}\n' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
525 3 |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
526 $ hg log -R latesttag -l1 -T '{max(desc)}\n' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
527 t |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
528 |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
529 Test min/max of non-iterable: |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
530 |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
531 $ hg debugtemplate '{min(1)}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
532 hg: parse error: 1 is not iterable |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
533 (min first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
534 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
535 $ hg debugtemplate '{max(2)}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
536 hg: parse error: 2 is not iterable |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
537 (max first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
538 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
539 |
38285
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
540 $ hg log -R latesttag -l1 -T '{min(date)}' |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
541 hg: parse error: date is not iterable |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
542 (min first argument should be an iterable) |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
543 [255] |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
544 $ hg log -R latesttag -l1 -T '{max(date)}' |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
545 hg: parse error: date is not iterable |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
546 (max first argument should be an iterable) |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
547 [255] |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
548 |
38265
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
549 Test min/max of empty sequence: |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
550 |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
551 $ hg debugtemplate '{min("")}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
552 hg: parse error: empty string |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
553 (min first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
554 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
555 $ hg debugtemplate '{max("")}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
556 hg: parse error: empty string |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
557 (max first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
558 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
559 $ hg debugtemplate '{min(dict())}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
560 hg: parse error: empty sequence |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
561 (min first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
562 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
563 $ hg debugtemplate '{max(dict())}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
564 hg: parse error: empty sequence |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
565 (max first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
566 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
567 $ hg debugtemplate '{min(dict() % "")}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
568 hg: parse error: empty sequence |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
569 (min first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
570 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
571 $ hg debugtemplate '{max(dict() % "")}' |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
572 hg: parse error: empty sequence |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
573 (max first argument should be an iterable) |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
574 [255] |
41ae9b3cbfb9
templater: abstract min/max away
Yuya Nishihara <yuya@tcha.org>
parents:
38243
diff
changeset
|
575 |
37015
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
576 Test min/max of if() result |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
577 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
578 $ cd latesttag |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
579 $ hg log -l1 -T '{min(if(true, revset("9:10"), ""))}\n' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
580 9 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
581 $ hg log -l1 -T '{max(if(false, "", revset("9:10")))}\n' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
582 10 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
583 $ hg log -l1 -T '{min(ifcontains("a", "aa", revset("9:10"), ""))}\n' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
584 9 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
585 $ hg log -l1 -T '{max(ifcontains("a", "bb", "", revset("9:10")))}\n' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
586 10 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
587 $ hg log -l1 -T '{min(ifeq(0, 0, revset("9:10"), ""))}\n' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
588 9 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
589 $ hg log -l1 -T '{max(ifeq(0, 1, "", revset("9:10")))}\n' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
590 10 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
591 $ cd .. |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
592 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
593 Test laziness of if() then/else clause |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
594 |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
595 $ hg debugtemplate '{count(0)}' |
37229
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
596 hg: parse error: not countable |
05db42732fce
templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org>
parents:
37227
diff
changeset
|
597 (incompatible use of template filter 'count') |
37015
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
598 [255] |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
599 $ hg debugtemplate '{if(true, "", count(0))}' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
600 $ hg debugtemplate '{if(false, count(0), "")}' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
601 $ hg debugtemplate '{ifcontains("a", "aa", "", count(0))}' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
602 $ hg debugtemplate '{ifcontains("a", "bb", count(0), "")}' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
603 $ hg debugtemplate '{ifeq(0, 0, "", count(0))}' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
604 $ hg debugtemplate '{ifeq(0, 1, count(0), "")}' |
a318bb154d42
templatefuncs: do not stringify result of if*() expression
Yuya Nishihara <yuya@tcha.org>
parents:
36691
diff
changeset
|
605 |
40934
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
606 Test search() function: |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
607 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
608 $ hg log -R a -r2 -T '{desc}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
609 no person |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
610 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
611 $ hg log -R a -r2 -T '{search(r"p.*", desc)}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
612 person |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
613 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
614 as bool |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
615 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
616 $ hg log -R a -r2 -T '{if(search(r"p.*", desc), "", "not ")}found\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
617 found |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
618 $ hg log -R a -r2 -T '{if(search(r"q", desc), "", "not ")}found\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
619 not found |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
620 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
621 match as json |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
622 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
623 $ hg log -R a -r2 -T '{search(r"(no) p.*", desc)|json}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
624 {"0": "no person", "1": "no"} |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
625 $ hg log -R a -r2 -T '{search(r"q", desc)|json}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
626 null |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
627 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
628 group reference |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
629 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
630 $ hg log -R a -r2 -T '{search(r"(no) (p.*)", desc) % "{1|upper} {2|hex}"}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
631 NO 706572736f6e |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
632 $ hg log -R a -r2 -T '{search(r"(?P<foo>[a-z]*)", desc) % "{foo}"}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
633 no |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
634 $ hg log -R a -r2 -T '{search(r"(?P<foo>[a-z]*)", desc).foo}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
635 no |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
636 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
637 group reference with no match |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
638 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
639 $ hg log -R a -r2 -T '{search(r"q", desc) % "match: {0}"}\n' |
40935
4591c9791a82
templatefuncs: specialize "no match" value of search() to allow % operation
Yuya Nishihara <yuya@tcha.org>
parents:
40934
diff
changeset
|
640 |
40934
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
641 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
642 bad group names |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
643 |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
644 $ hg log -R a -r2 -T '{search(r"(?P<0>.)", desc) % "{0}"}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
645 hg: parse error: search got an invalid pattern: (?P<0>.) |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
646 [255] |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
647 $ hg log -R a -r2 -T '{search(r"(?P<repo>.)", desc) % "{repo}"}\n' |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
648 hg: parse error: invalid group 'repo' in search pattern: (?P<repo>.) |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
649 [255] |
d3e688b9ef2e
templatefuncs: add regexp search() function that extracts substring
Yuya Nishihara <yuya@tcha.org>
parents:
40341
diff
changeset
|
650 |
19058
d8d548d868d3
template: call runtemplate on the src argument to sub
Sean Farley <sean.michael.farley@gmail.com>
parents:
18970
diff
changeset
|
651 Test the sub function of templating for expansion: |
d8d548d868d3
template: call runtemplate on the src argument to sub
Sean Farley <sean.michael.farley@gmail.com>
parents:
18970
diff
changeset
|
652 |
d8d548d868d3
template: call runtemplate on the src argument to sub
Sean Farley <sean.michael.farley@gmail.com>
parents:
18970
diff
changeset
|
653 $ hg log -R latesttag -r 10 --template '{sub("[0-9]", "x", "{rev}")}\n' |
d8d548d868d3
template: call runtemplate on the src argument to sub
Sean Farley <sean.michael.farley@gmail.com>
parents:
18970
diff
changeset
|
654 xx |
19330
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
655 |
26188
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
656 $ hg log -R latesttag -r 10 -T '{sub("[", "x", rev)}\n' |
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
657 hg: parse error: sub got an invalid pattern: [ |
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
658 [255] |
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
659 $ hg log -R latesttag -r 10 -T '{sub("[0-9]", r"\1", rev)}\n' |
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
660 hg: parse error: sub got an invalid replacement: \1 |
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
661 [255] |
662ea52d5dca
templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org>
parents:
26128
diff
changeset
|
662 |
19330
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
663 Test the strip function with chars specified: |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
664 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
665 $ hg log -R latesttag --template '{desc}\n' |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
666 at3 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
667 t5 |
33862
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
668 t4 |
19330
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
669 t3 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
670 t2 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
671 t1 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
672 merge |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
673 h2e |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
674 h2d |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
675 h1c |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
676 b |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
677 a |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
678 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
679 $ hg log -R latesttag --template '{strip(desc, "te")}\n' |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
680 at3 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
681 5 |
33862
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
682 4 |
19330
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
683 3 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
684 2 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
685 1 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
686 merg |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
687 h2 |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
688 h2d |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
689 h1c |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
690 b |
867b9957d895
templater: add strip function with chars as an extra argument
Alexander Plavin <me@aplavin.ru>
parents:
19127
diff
changeset
|
691 a |
20066
64b4f0cd7336
templater: fix escaping in nested string literals (issue4102)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
692 |
19989
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
693 Test date format: |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
694 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
695 $ hg log -R latesttag --template 'date: {date(date, "%y %m %d %S %z")}\n' |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
696 date: 70 01 01 10 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
697 date: 70 01 01 09 +0000 |
33862
fb672eac2702
templatekw: choose {latesttag} by len(changes), not date (issue5659)
Martin von Zweigbergk <martinvonz@google.com>
parents:
33861
diff
changeset
|
698 date: 70 01 01 04 +0000 |
19989
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
699 date: 70 01 01 08 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
700 date: 70 01 01 07 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
701 date: 70 01 01 06 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
702 date: 70 01 01 05 +0100 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
703 date: 70 01 01 04 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
704 date: 70 01 01 03 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
705 date: 70 01 01 02 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
706 date: 70 01 01 01 +0000 |
c38c3fdc8b93
date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com>
parents:
19770
diff
changeset
|
707 date: 70 01 01 00 +0000 |
20072 | 708 |
24903
09124cce913f
templater: fix crash by passing invalid object to date() function
Yuya Nishihara <yuya@tcha.org>
parents:
24886
diff
changeset
|
709 Test invalid date: |
09124cce913f
templater: fix crash by passing invalid object to date() function
Yuya Nishihara <yuya@tcha.org>
parents:
24886
diff
changeset
|
710 |
09124cce913f
templater: fix crash by passing invalid object to date() function
Yuya Nishihara <yuya@tcha.org>
parents:
24886
diff
changeset
|
711 $ hg log -R latesttag -T '{date(rev)}\n' |
09124cce913f
templater: fix crash by passing invalid object to date() function
Yuya Nishihara <yuya@tcha.org>
parents:
24886
diff
changeset
|
712 hg: parse error: date expects a date information |
09124cce913f
templater: fix crash by passing invalid object to date() function
Yuya Nishihara <yuya@tcha.org>
parents:
24886
diff
changeset
|
713 [255] |
09124cce913f
templater: fix crash by passing invalid object to date() function
Yuya Nishihara <yuya@tcha.org>
parents:
24886
diff
changeset
|
714 |
38434
70f551a3f52e
tests: extract test-template-functions.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org>
parents:
38433
diff
changeset
|
715 Set up repository containing template fragments in commit metadata: |
20067
3d8bfe2ecf6d
templater: only recursively evaluate string literals as templates (issue4103)
Matt Mackall <mpm@selenic.com>
parents:
20066
diff
changeset
|
716 |
3d8bfe2ecf6d
templater: only recursively evaluate string literals as templates (issue4103)
Matt Mackall <mpm@selenic.com>
parents:
20066
diff
changeset
|
717 $ hg init r |
3d8bfe2ecf6d
templater: only recursively evaluate string literals as templates (issue4103)
Matt Mackall <mpm@selenic.com>
parents:
20066
diff
changeset
|
718 $ cd r |
3d8bfe2ecf6d
templater: only recursively evaluate string literals as templates (issue4103)
Matt Mackall <mpm@selenic.com>
parents:
20066
diff
changeset
|
719 $ echo a > a |
3d8bfe2ecf6d
templater: only recursively evaluate string literals as templates (issue4103)
Matt Mackall <mpm@selenic.com>
parents:
20066
diff
changeset
|
720 $ hg ci -Am '{rev}' |
3d8bfe2ecf6d
templater: only recursively evaluate string literals as templates (issue4103)
Matt Mackall <mpm@selenic.com>
parents:
20066
diff
changeset
|
721 adding a |
20076
faa4b3fc4197
templater: makes branches work correctly with stringify (issue4108)
Matt Mackall <mpm@selenic.com>
parents:
20067
diff
changeset
|
722 |
20661
7e627fe63e5e
templater: avoid recursive evaluation of string literals completely
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20079
diff
changeset
|
723 $ hg branch -q 'text.{rev}' |
7e627fe63e5e
templater: avoid recursive evaluation of string literals completely
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20079
diff
changeset
|
724 $ echo aa >> aa |
7e627fe63e5e
templater: avoid recursive evaluation of string literals completely
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20079
diff
changeset
|
725 $ hg ci -u '{node|short}' -m 'desc to be wrapped desc to be wrapped' |
7e627fe63e5e
templater: avoid recursive evaluation of string literals completely
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20079
diff
changeset
|
726 |
28373
9a9dd71e882c
templater: make label() take unknown symbol as color literal
Yuya Nishihara <yuya@tcha.org>
parents:
28349
diff
changeset
|
727 color effect can be specified without quoting: |
9a9dd71e882c
templater: make label() take unknown symbol as color literal
Yuya Nishihara <yuya@tcha.org>
parents:
28349
diff
changeset
|
728 |
9a9dd71e882c
templater: make label() take unknown symbol as color literal
Yuya Nishihara <yuya@tcha.org>
parents:
28349
diff
changeset
|
729 $ hg log --color=always -l 1 --template '{label(red, "text\n")}' |
9a9dd71e882c
templater: make label() take unknown symbol as color literal
Yuya Nishihara <yuya@tcha.org>
parents:
28349
diff
changeset
|
730 \x1b[0;31mtext\x1b[0m (esc) |
9a9dd71e882c
templater: make label() take unknown symbol as color literal
Yuya Nishihara <yuya@tcha.org>
parents:
28349
diff
changeset
|
731 |
31518
43d6ef658874
color: insert color code after every "\e[0m" (issue5413)
Yuya Nishihara <yuya@tcha.org>
parents:
30732
diff
changeset
|
732 color effects can be nested (issue5413) |
43d6ef658874
color: insert color code after every "\e[0m" (issue5413)
Yuya Nishihara <yuya@tcha.org>
parents:
30732
diff
changeset
|
733 |
43d6ef658874
color: insert color code after every "\e[0m" (issue5413)
Yuya Nishihara <yuya@tcha.org>
parents:
30732
diff
changeset
|
734 $ hg debugtemplate --color=always \ |
43d6ef658874
color: insert color code after every "\e[0m" (issue5413)
Yuya Nishihara <yuya@tcha.org>
parents:
30732
diff
changeset
|
735 > '{label(red, "red{label(magenta, "ma{label(cyan, "cyan")}{label(yellow, "yellow")}genta")}")}\n' |
43d6ef658874
color: insert color code after every "\e[0m" (issue5413)
Yuya Nishihara <yuya@tcha.org>
parents:
30732
diff
changeset
|
736 \x1b[0;31mred\x1b[0;35mma\x1b[0;36mcyan\x1b[0m\x1b[0;31m\x1b[0;35m\x1b[0;33myellow\x1b[0m\x1b[0;31m\x1b[0;35mgenta\x1b[0m (esc) |
43d6ef658874
color: insert color code after every "\e[0m" (issue5413)
Yuya Nishihara <yuya@tcha.org>
parents:
30732
diff
changeset
|
737 |
31521
44c591f63458
templater: make pad() strip color codes before computing width (issue5416)
Yuya Nishihara <yuya@tcha.org>
parents:
31520
diff
changeset
|
738 pad() should interact well with color codes (issue5416) |
44c591f63458
templater: make pad() strip color codes before computing width (issue5416)
Yuya Nishihara <yuya@tcha.org>
parents:
31520
diff
changeset
|
739 |
44c591f63458
templater: make pad() strip color codes before computing width (issue5416)
Yuya Nishihara <yuya@tcha.org>
parents:
31520
diff
changeset
|
740 $ hg debugtemplate --color=always \ |
44c591f63458
templater: make pad() strip color codes before computing width (issue5416)
Yuya Nishihara <yuya@tcha.org>
parents:
31520
diff
changeset
|
741 > '{pad(label(red, "red"), 5, label(cyan, "-"))}\n' |
44c591f63458
templater: make pad() strip color codes before computing width (issue5416)
Yuya Nishihara <yuya@tcha.org>
parents:
31520
diff
changeset
|
742 \x1b[0;31mred\x1b[0m\x1b[0;36m-\x1b[0m\x1b[0;36m-\x1b[0m (esc) |
44c591f63458
templater: make pad() strip color codes before computing width (issue5416)
Yuya Nishihara <yuya@tcha.org>
parents:
31520
diff
changeset
|
743 |
40189
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
744 pad() with truncate has to strip color codes, though |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
745 |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
746 $ hg debugtemplate --color=always \ |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
747 > '{pad(label(red, "scarlet"), 5, truncate=true)}\n' |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
748 scarl |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
749 |
28374
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
750 label should be no-op if color is disabled: |
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
751 |
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
752 $ hg log --color=never -l 1 --template '{label(red, "text\n")}' |
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
753 text |
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
754 $ hg log --config extensions.color=! -l 1 --template '{label(red, "text\n")}' |
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
755 text |
af3bd9d1dbc1
templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org>
parents:
28373
diff
changeset
|
756 |
20076
faa4b3fc4197
templater: makes branches work correctly with stringify (issue4108)
Matt Mackall <mpm@selenic.com>
parents:
20067
diff
changeset
|
757 Test branches inside if statement: |
faa4b3fc4197
templater: makes branches work correctly with stringify (issue4108)
Matt Mackall <mpm@selenic.com>
parents:
20067
diff
changeset
|
758 |
faa4b3fc4197
templater: makes branches work correctly with stringify (issue4108)
Matt Mackall <mpm@selenic.com>
parents:
20067
diff
changeset
|
759 $ hg log -r 0 --template '{if(branches, "yes", "no")}\n' |
faa4b3fc4197
templater: makes branches work correctly with stringify (issue4108)
Matt Mackall <mpm@selenic.com>
parents:
20067
diff
changeset
|
760 no |
20662
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
761 |
31926
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
762 Test dict constructor: |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
763 |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
764 $ hg log -r 0 -T '{dict(y=node|short, x=rev)}\n' |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
765 y=f7769ec2ab97 x=0 |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
766 $ hg log -r 0 -T '{dict(x=rev, y=node|short) % "{key}={value}\n"}' |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
767 x=0 |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
768 y=f7769ec2ab97 |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
769 $ hg log -r 0 -T '{dict(x=rev, y=node|short)|json}\n' |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
770 {"x": 0, "y": "f7769ec2ab97"} |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
771 $ hg log -r 0 -T '{dict()|json}\n' |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
772 {} |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
773 |
31928
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
774 $ hg log -r 0 -T '{dict(rev, node=node|short)}\n' |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
775 rev=0 node=f7769ec2ab97 |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
776 $ hg log -r 0 -T '{dict(rev, node|short)}\n' |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
777 rev=0 node=f7769ec2ab97 |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
778 |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
779 $ hg log -r 0 -T '{dict(rev, rev=rev)}\n' |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
780 hg: parse error: duplicated dict key 'rev' inferred |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
781 [255] |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
782 $ hg log -r 0 -T '{dict(node, node|short)}\n' |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
783 hg: parse error: duplicated dict key 'node' inferred |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
784 [255] |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
785 $ hg log -r 0 -T '{dict(1 + 2)}' |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
786 hg: parse error: dict key cannot be inferred |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
787 [255] |
277b3e2d711b
templater: add shorthand for building a dict like {"key": key}
Yuya Nishihara <yuya@tcha.org>
parents:
31927
diff
changeset
|
788 |
31926
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
789 $ hg log -r 0 -T '{dict(x=rev, x=node)}' |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
790 hg: parse error: dict got multiple values for keyword argument 'x' |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
791 [255] |
932241b8c644
templater: add dict() constructor
Yuya Nishihara <yuya@tcha.org>
parents:
31887
diff
changeset
|
792 |
24241
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
793 Test get function: |
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
794 |
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
795 $ hg log -r 0 --template '{get(extras, "branch")}\n' |
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
796 default |
28331
2874db5462d3
templater: fix get() to evaluate arguments eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28270
diff
changeset
|
797 $ hg log -r 0 --template '{get(extras, "br{"anch"}")}\n' |
2874db5462d3
templater: fix get() to evaluate arguments eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28270
diff
changeset
|
798 default |
24241
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
799 $ hg log -r 0 --template '{get(files, "should_fail")}\n' |
38243
06d11cd90516
templater: promote getmember() to an interface of wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38229
diff
changeset
|
800 hg: parse error: not a dictionary |
06d11cd90516
templater: promote getmember() to an interface of wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38229
diff
changeset
|
801 (get() expects a dict as first argument) |
24241
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
802 [255] |
e7baf88c29c3
templatekw: forward _hybrid.get to raw values so that get(extras, key) works
Yuya Nishihara <yuya@tcha.org>
parents:
24240
diff
changeset
|
803 |
38285
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
804 Test json filter applied to wrapped object: |
31882
ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
Yuya Nishihara <yuya@tcha.org>
parents:
31807
diff
changeset
|
805 |
ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
Yuya Nishihara <yuya@tcha.org>
parents:
31807
diff
changeset
|
806 $ hg log -r0 -T '{files|json}\n' |
ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
Yuya Nishihara <yuya@tcha.org>
parents:
31807
diff
changeset
|
807 ["a"] |
ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
Yuya Nishihara <yuya@tcha.org>
parents:
31807
diff
changeset
|
808 $ hg log -r0 -T '{extras|json}\n' |
ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
Yuya Nishihara <yuya@tcha.org>
parents:
31807
diff
changeset
|
809 {"branch": "default"} |
38285
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
810 $ hg log -r0 -T '{date|json}\n' |
8d6109b49b31
templater: introduce a wrapper for date tuple (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
38277
diff
changeset
|
811 [0, 0] |
31882
ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
Yuya Nishihara <yuya@tcha.org>
parents:
31807
diff
changeset
|
812 |
37499
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
813 Test json filter applied to map result: |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
814 |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
815 $ hg log -r0 -T '{json(extras % "{key}")}\n' |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
816 ["branch"] |
75c13343cf38
templater: wrap result of '%' operation so it never looks like a thunk
Yuya Nishihara <yuya@tcha.org>
parents:
37418
diff
changeset
|
817 |
26128
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
818 Test localdate(date, tz) function: |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
819 |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
820 $ TZ=JST-09 hg log -r0 -T '{date|localdate|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
821 1970-01-01 09:00 +0900 |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
822 $ TZ=JST-09 hg log -r0 -T '{localdate(date, "UTC")|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
823 1970-01-01 00:00 +0000 |
29636
84ef4517de03
date: refactor timezone parsing
Matt Mackall <mpm@selenic.com>
parents:
29624
diff
changeset
|
824 $ TZ=JST-09 hg log -r0 -T '{localdate(date, "blahUTC")|isodate}\n' |
84ef4517de03
date: refactor timezone parsing
Matt Mackall <mpm@selenic.com>
parents:
29624
diff
changeset
|
825 hg: parse error: localdate expects a timezone |
84ef4517de03
date: refactor timezone parsing
Matt Mackall <mpm@selenic.com>
parents:
29624
diff
changeset
|
826 [255] |
26128
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
827 $ TZ=JST-09 hg log -r0 -T '{localdate(date, "+0200")|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
828 1970-01-01 02:00 +0200 |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
829 $ TZ=JST-09 hg log -r0 -T '{localdate(date, "0")|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
830 1970-01-01 00:00 +0000 |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
831 $ TZ=JST-09 hg log -r0 -T '{localdate(date, 0)|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
832 1970-01-01 00:00 +0000 |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
833 $ hg log -r0 -T '{localdate(date, "invalid")|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
834 hg: parse error: localdate expects a timezone |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
835 [255] |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
836 $ hg log -r0 -T '{localdate(date, date)|isodate}\n' |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
837 hg: parse error: localdate expects a timezone |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
838 [255] |
51f6940d3b4f
templater: add optional timezone argument to localdate()
Yuya Nishihara <yuya@tcha.org>
parents:
26127
diff
changeset
|
839 |
20369
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
840 Test shortest(node) function: |
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
841 |
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
842 $ echo b > b |
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
843 $ hg ci -qAm b |
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
844 $ hg log --template '{shortest(node)}\n' |
20670 | 845 e777 |
846 bcc7 | |
20369
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
847 f776 |
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
848 $ hg log --template '{shortest(node, 10)}\n' |
20670 | 849 e777603221 |
850 bcc7ff960b | |
20369
9c6b86dd2ed2
template: add shortest(node) template function
Durham Goode <durham@fb.com>
parents:
20079
diff
changeset
|
851 f7769ec2ab |
40341
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
852 $ hg log --template '{shortest(node, 1)}\n' -r null |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
853 00 |
26105
d67341f55429
templater: introduce unified filter syntax for unary functions
Yuya Nishihara <yuya@tcha.org>
parents:
25862
diff
changeset
|
854 $ hg log --template '{node|shortest}\n' -l1 |
d67341f55429
templater: introduce unified filter syntax for unary functions
Yuya Nishihara <yuya@tcha.org>
parents:
25862
diff
changeset
|
855 e777 |
20370
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
856 |
28346
542d200bd261
templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28345
diff
changeset
|
857 $ hg log -r 0 -T '{shortest(node, "1{"0"}")}\n' |
542d200bd261
templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28345
diff
changeset
|
858 f7769ec2ab |
542d200bd261
templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28345
diff
changeset
|
859 $ hg log -r 0 -T '{shortest(node, "not an int")}\n' |
542d200bd261
templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28345
diff
changeset
|
860 hg: parse error: shortest() expects an integer minlength |
542d200bd261
templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28345
diff
changeset
|
861 [255] |
542d200bd261
templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28345
diff
changeset
|
862 |
32684
af854b1b36f8
revlog: add support for partial matching of wdir node id
Yuya Nishihara <yuya@tcha.org>
parents:
32039
diff
changeset
|
863 $ hg log -r 'wdir()' -T '{node|shortest}\n' |
af854b1b36f8
revlog: add support for partial matching of wdir node id
Yuya Nishihara <yuya@tcha.org>
parents:
32039
diff
changeset
|
864 ffff |
af854b1b36f8
revlog: add support for partial matching of wdir node id
Yuya Nishihara <yuya@tcha.org>
parents:
32039
diff
changeset
|
865 |
37709
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
866 $ hg log --template '{shortest("f")}\n' -l1 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
867 f |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
868 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
869 $ hg log --template '{shortest("0123456789012345678901234567890123456789")}\n' -l1 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
870 0123456789012345678901234567890123456789 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
871 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
872 $ hg log --template '{shortest("01234567890123456789012345678901234567890123456789")}\n' -l1 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
873 01234567890123456789012345678901234567890123456789 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
874 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
875 $ hg log --template '{shortest("not a hex string")}\n' -l1 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
876 not a hex string |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
877 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
878 $ hg log --template '{shortest("not a hex string, but it'\''s 40 bytes long")}\n' -l1 |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
879 not a hex string, but it's 40 bytes long |
7b2955624777
scmutil: make shortesthexnodeidprefix() take a full binary nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents:
37499
diff
changeset
|
880 |
37859
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
881 $ hg log --template '{shortest("ffffffffffffffffffffffffffffffffffffffff")}\n' -l1 |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
882 ffff |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
883 |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
884 $ hg log --template '{shortest("fffffff")}\n' -l1 |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
885 ffff |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
886 |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
887 $ hg log --template '{shortest("ff")}\n' -l1 |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
888 ffff |
66dc9db6ed2c
shortest: make {shortest("fffffffff")} work again
Martin von Zweigbergk <martinvonz@google.com>
parents:
37772
diff
changeset
|
889 |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
890 $ cd .. |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
891 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
892 Test shortest(node) with the repo having short hash collision: |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
893 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
894 $ hg init hashcollision |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
895 $ cd hashcollision |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
896 $ cat <<EOF >> .hg/hgrc |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
897 > [experimental] |
34866
1644623ab096
config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents:
34715
diff
changeset
|
898 > evolution.createmarkers=True |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
899 > EOF |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
900 $ echo 0 > a |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
901 $ hg ci -qAm 0 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
902 $ for i in 17 129 248 242 480 580 617 1057 2857 4025; do |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
903 > hg up -q 0 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
904 > echo $i > a |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
905 > hg ci -qm $i |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
906 > done |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
907 $ hg up -q null |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
908 $ hg log -r0: -T '{rev}:{node}\n' |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
909 0:b4e73ffab476aa0ee32ed81ca51e07169844bc6a |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
910 1:11424df6dc1dd4ea255eae2b58eaca7831973bbc |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
911 2:11407b3f1b9c3e76a79c1ec5373924df096f0499 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
912 3:11dd92fe0f39dfdaacdaa5f3997edc533875cfc4 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
913 4:10776689e627b465361ad5c296a20a487e153ca4 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
914 5:a00be79088084cb3aff086ab799f8790e01a976b |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
915 6:a0b0acd79b4498d0052993d35a6a748dd51d13e6 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
916 7:a0457b3450b8e1b778f1163b31a435802987fe5d |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
917 8:c56256a09cd28e5764f32e8e2810d0f01e2e357a |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
918 9:c5623987d205cd6d9d8389bfc40fff9dbb670b48 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
919 10:c562ddd9c94164376c20b86b0b4991636a3bf84f |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
920 $ hg debugobsolete a00be79088084cb3aff086ab799f8790e01a976b |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
33262
diff
changeset
|
921 obsoleted 1 changesets |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
922 $ hg debugobsolete c5623987d205cd6d9d8389bfc40fff9dbb670b48 |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
33262
diff
changeset
|
923 obsoleted 1 changesets |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
924 $ hg debugobsolete c562ddd9c94164376c20b86b0b4991636a3bf84f |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
33262
diff
changeset
|
925 obsoleted 1 changesets |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
926 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
927 nodes starting with '11' (we don't have the revision number '11' though) |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
928 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
929 $ hg log -r 1:3 -T '{rev}:{shortest(node, 0)}\n' |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
930 1:1142 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
931 2:1140 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
932 3:11d |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
933 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
934 '5:a00' is hidden, but still we have two nodes starting with 'a0' |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
935 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
936 $ hg log -r 6:7 -T '{rev}:{shortest(node, 0)}\n' |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
937 6:a0b |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
938 7:a04 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
939 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
940 node '10' conflicts with the revision number '10' even if it is hidden |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
941 (we could exclude hidden revision numbers, but currently we don't) |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
942 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
943 $ hg log -r 4 -T '{rev}:{shortest(node, 0)}\n' |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
944 4:107 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
945 $ hg log -r 4 -T '{rev}:{shortest(node, 0)}\n' --hidden |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
946 4:107 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
947 |
38856
a01200b25da6
shortest: use 'x' prefix to disambiguate from revnum if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
38449
diff
changeset
|
948 $ hg --config experimental.revisions.prefixhexnode=yes log -r 4 -T '{rev}:{shortest(node, 0)}\n' |
a01200b25da6
shortest: use 'x' prefix to disambiguate from revnum if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
38449
diff
changeset
|
949 4:x10 |
a01200b25da6
shortest: use 'x' prefix to disambiguate from revnum if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
38449
diff
changeset
|
950 $ hg --config experimental.revisions.prefixhexnode=yes log -r 4 -T '{rev}:{shortest(node, 0)}\n' --hidden |
a01200b25da6
shortest: use 'x' prefix to disambiguate from revnum if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
38449
diff
changeset
|
951 4:x10 |
a01200b25da6
shortest: use 'x' prefix to disambiguate from revnum if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
38449
diff
changeset
|
952 |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
953 node 'c562' should be unique if the other 'c562' nodes are hidden |
30232
362740e05460
templater: use unfiltered changelog to calculate shortest() at constant time
Yuya Nishihara <yuya@tcha.org>
parents:
30231
diff
changeset
|
954 (but we don't try the slow path to filter out hidden nodes for now) |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
955 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
956 $ hg log -r 8 -T '{rev}:{node|shortest}\n' |
30232
362740e05460
templater: use unfiltered changelog to calculate shortest() at constant time
Yuya Nishihara <yuya@tcha.org>
parents:
30231
diff
changeset
|
957 8:c5625 |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
958 $ hg log -r 8:10 -T '{rev}:{node|shortest}\n' --hidden |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
959 8:c5625 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
960 9:c5623 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
961 10:c562d |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
962 |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
963 $ cd .. |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
964 |
40341
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
965 Test prefixhexnode when the first character of the hash is 0. |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
966 $ hg init hashcollision2 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
967 $ cd hashcollision2 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
968 $ cat <<EOF >> .hg/hgrc |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
969 > [experimental] |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
970 > evolution.createmarkers=True |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
971 > EOF |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
972 $ echo 0 > a |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
973 $ hg ci -qAm 0 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
974 $ echo 21 > a |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
975 $ hg ci -qm 21 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
976 $ hg up -q null |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
977 $ hg log -r0: -T '{rev}:{node}\n' |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
978 0:b4e73ffab476aa0ee32ed81ca51e07169844bc6a |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
979 1:0cf177ba2b1dc3862a00fb81715fec90950201be |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
980 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
981 we need the 'x' prefix to ensure we aren't colliding with rev0. We identify |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
982 the collision with nullid if we aren't using disambiguatewithin, so we need to set |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
983 that as well. |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
984 $ hg --config experimental.revisions.disambiguatewithin='descendants(0)' \ |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
985 > --config experimental.revisions.prefixhexnode=yes \ |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
986 > log -r 1 -T '{rev}:{shortest(node, 0)}\n' |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
987 1:x0 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
988 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
989 $ hg debugobsolete 0cf177ba2b1dc3862a00fb81715fec90950201be |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
990 obsoleted 1 changesets |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
991 $ hg up -q 0 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
992 $ echo 61 > a |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
993 $ hg ci -m 61 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
994 $ hg log -r0: -T '{rev}:{node}\n' |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
995 0:b4e73ffab476aa0ee32ed81ca51e07169844bc6a |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
996 2:01384dde84b3a511ae0835f35ac40bd806c99bb8 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
997 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
998 we still have the 'x' prefix because '0' is still the shortest prefix, since |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
999 rev1's '0c' is hidden. |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1000 $ hg --config experimental.revisions.disambiguatewithin=0:-1-0 \ |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1001 > --config experimental.revisions.prefixhexnode=yes \ |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1002 > log -r 0:-1-0 -T '{rev}:{shortest(node, 0)}\n' |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1003 2:x0 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1004 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1005 we don't have the 'x' prefix on 2 because '01' is not a synonym for rev1. |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1006 $ hg --config experimental.revisions.disambiguatewithin=0:-1-0 \ |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1007 > --config experimental.revisions.prefixhexnode=yes \ |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1008 > log -r 0:-1-0 -T '{rev}:{shortest(node, 0)}\n' --hidden |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1009 1:0c |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1010 2:01 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1011 |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1012 $ cd .. |
d916ed3ca951
revisions: when using prefixhexnode, ensure we prefix "0"
Kyle Lippincott <spectral@google.com>
parents:
40189
diff
changeset
|
1013 |
20370
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1014 Test pad function |
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1015 |
30231
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
1016 $ cd r |
741e5d7f282d
templater: do not use index.partialmatch() directly to calculate shortest()
Yuya Nishihara <yuya@tcha.org>
parents:
30115
diff
changeset
|
1017 |
20370
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1018 $ hg log --template '{pad(rev, 20)} {author|user}\n' |
20670 | 1019 2 test |
1020 1 {node|short} | |
20370
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1021 0 test |
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1022 |
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1023 $ hg log --template '{pad(rev, 20, " ", True)} {author|user}\n' |
20670 | 1024 2 test |
1025 1 {node|short} | |
20370
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1026 0 test |
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1027 |
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1028 $ hg log --template '{pad(rev, 20, "-", False)} {author|user}\n' |
20670 | 1029 2------------------- test |
1030 1------------------- {node|short} | |
20370
aa51392da507
template: add pad function for padding output
Durham Goode <durham@fb.com>
parents:
20369
diff
changeset
|
1031 0------------------- test |
20518
1e43f15a647f
template: add ifcontains template function
Durham Goode <durham@fb.com>
parents:
20370
diff
changeset
|
1032 |
40189
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1033 $ hg log --template '{pad(author, 5, "-", False, True)}\n' |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1034 test- |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1035 {node |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1036 test- |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1037 $ hg log --template '{pad(author, 5, "-", True, True)}\n' |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1038 -test |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1039 hort} |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1040 -test |
9458dbfa7f33
templatefuncs: add truncate parameter to pad
Mark Thomas <mbthomas@fb.com>
parents:
39707
diff
changeset
|
1041 |
25509
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1042 Test template string in pad function |
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1043 |
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1044 $ hg log -r 0 -T '{pad("\{{rev}}", 10)} {author|user}\n' |
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1045 {0} test |
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1046 |
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1047 $ hg log -r 0 -T '{pad(r"\{rev}", 10)} {author|user}\n' |
25597
fd5bc660c9f0
templater: do not reevaluate rawstring as template (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
25596
diff
changeset
|
1048 \{rev} test |
25509
576d6c74784b
templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org>
parents:
25490
diff
changeset
|
1049 |
28345
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1050 Test width argument passed to pad function |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1051 |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1052 $ hg log -r 0 -T '{pad(rev, "1{"0"}")} {author|user}\n' |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1053 0 test |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1054 $ hg log -r 0 -T '{pad(rev, "not an int")}\n' |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1055 hg: parse error: pad() expects an integer width |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1056 [255] |
d81437c91a26
templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org>
parents:
28344
diff
changeset
|
1057 |
31519
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1058 Test invalid fillchar passed to pad function |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1059 |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1060 $ hg log -r 0 -T '{pad(rev, 10, "")}\n' |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1061 hg: parse error: pad() expects a single fill character |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1062 [255] |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1063 $ hg log -r 0 -T '{pad(rev, 10, "--")}\n' |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1064 hg: parse error: pad() expects a single fill character |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1065 [255] |
3725986b151a
templater: reject bad fillchar argument passed to pad()
Yuya Nishihara <yuya@tcha.org>
parents:
31518
diff
changeset
|
1066 |
29817
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1067 Test boolean argument passed to pad function |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1068 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1069 no crash |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1070 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1071 $ hg log -r 0 -T '{pad(rev, 10, "-", "f{"oo"}")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1072 ---------0 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1073 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1074 string/literal |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1075 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1076 $ hg log -r 0 -T '{pad(rev, 10, "-", "false")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1077 ---------0 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1078 $ hg log -r 0 -T '{pad(rev, 10, "-", false)}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1079 0--------- |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1080 $ hg log -r 0 -T '{pad(rev, 10, "-", "")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1081 0--------- |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1082 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1083 unknown keyword is evaluated to '' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1084 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1085 $ hg log -r 0 -T '{pad(rev, 10, "-", unknownkeyword)}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1086 0--------- |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1087 |
29085
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1088 Test separate function |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1089 |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1090 $ hg log -r 0 -T '{separate("-", "", "a", "b", "", "", "c", "")}\n' |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1091 a-b-c |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1092 $ hg log -r 0 -T '{separate(" ", "{rev}:{node|short}", author|user, branch)}\n' |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1093 0:f7769ec2ab97 test default |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1094 $ hg log -r 0 --color=always -T '{separate(" ", "a", label(red, "b"), "c", label(red, ""), "d")}\n' |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1095 a \x1b[0;31mb\x1b[0m c d (esc) |
df838803c1d4
templater: add separate() template function
Martin von Zweigbergk <martinvonz@google.com>
parents:
29059
diff
changeset
|
1096 |
29817
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1097 Test boolean expression/literal passed to if function |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1098 |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1099 $ hg log -r 0 -T '{if(rev, "rev 0 is True")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1100 rev 0 is True |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1101 $ hg log -r 0 -T '{if(0, "literal 0 is True as well")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1102 literal 0 is True as well |
38447
b6294c113794
templater: fix truth testing of integer 0 taken from a list/dict
Yuya Nishihara <yuya@tcha.org>
parents:
38435
diff
changeset
|
1103 $ hg log -r 0 -T '{if(min(revset(r"0")), "0 of hybriditem is also True")}\n' |
b6294c113794
templater: fix truth testing of integer 0 taken from a list/dict
Yuya Nishihara <yuya@tcha.org>
parents:
38435
diff
changeset
|
1104 0 of hybriditem is also True |
29817
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1105 $ hg log -r 0 -T '{if("", "", "empty string is False")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1106 empty string is False |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1107 $ hg log -r 0 -T '{if(revset(r"0 - 0"), "", "empty list is False")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1108 empty list is False |
38289
f9c426385853
templater: abstract truth testing to fix {if(list_of_empty_strings)}
Yuya Nishihara <yuya@tcha.org>
parents:
38286
diff
changeset
|
1109 $ hg log -r 0 -T '{if(revset(r"0"), "non-empty list is True")}\n' |
f9c426385853
templater: abstract truth testing to fix {if(list_of_empty_strings)}
Yuya Nishihara <yuya@tcha.org>
parents:
38286
diff
changeset
|
1110 non-empty list is True |
f9c426385853
templater: abstract truth testing to fix {if(list_of_empty_strings)}
Yuya Nishihara <yuya@tcha.org>
parents:
38286
diff
changeset
|
1111 $ hg log -r 0 -T '{if(revset(r"0") % "", "list of empty strings is True")}\n' |
f9c426385853
templater: abstract truth testing to fix {if(list_of_empty_strings)}
Yuya Nishihara <yuya@tcha.org>
parents:
38286
diff
changeset
|
1112 list of empty strings is True |
29817
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1113 $ hg log -r 0 -T '{if(true, "true is True")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1114 true is True |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1115 $ hg log -r 0 -T '{if(false, "", "false is False")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1116 false is False |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1117 $ hg log -r 0 -T '{if("false", "non-empty string is True")}\n' |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1118 non-empty string is True |
cc11079644fc
templater: make pad() evaluate boolean argument (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
29636
diff
changeset
|
1119 |
20518
1e43f15a647f
template: add ifcontains template function
Durham Goode <durham@fb.com>
parents:
20370
diff
changeset
|
1120 Test ifcontains function |
1e43f15a647f
template: add ifcontains template function
Durham Goode <durham@fb.com>
parents:
20370
diff
changeset
|
1121 |
22843
b6531d806de8
templater: fix ifcontains when list is a string (issue4399)
Matt Mackall <mpm@selenic.com>
parents:
22582
diff
changeset
|
1122 $ hg log --template '{rev} {ifcontains(rev, "2 two 0", "is in the string", "is not")}\n' |
b6531d806de8
templater: fix ifcontains when list is a string (issue4399)
Matt Mackall <mpm@selenic.com>
parents:
22582
diff
changeset
|
1123 2 is in the string |
b6531d806de8
templater: fix ifcontains when list is a string (issue4399)
Matt Mackall <mpm@selenic.com>
parents:
22582
diff
changeset
|
1124 1 is not |
b6531d806de8
templater: fix ifcontains when list is a string (issue4399)
Matt Mackall <mpm@selenic.com>
parents:
22582
diff
changeset
|
1125 0 is in the string |
b6531d806de8
templater: fix ifcontains when list is a string (issue4399)
Matt Mackall <mpm@selenic.com>
parents:
22582
diff
changeset
|
1126 |
28332
e91371633127
templater: fix ifcontains() to evaluate items argument eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28331
diff
changeset
|
1127 $ hg log -T '{rev} {ifcontains(rev, "2 two{" 0"}", "is in the string", "is not")}\n' |
e91371633127
templater: fix ifcontains() to evaluate items argument eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28331
diff
changeset
|
1128 2 is in the string |
e91371633127
templater: fix ifcontains() to evaluate items argument eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28331
diff
changeset
|
1129 1 is not |
e91371633127
templater: fix ifcontains() to evaluate items argument eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28331
diff
changeset
|
1130 0 is in the string |
e91371633127
templater: fix ifcontains() to evaluate items argument eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28331
diff
changeset
|
1131 |
20518
1e43f15a647f
template: add ifcontains template function
Durham Goode <durham@fb.com>
parents:
20370
diff
changeset
|
1132 $ hg log --template '{rev} {ifcontains("a", file_adds, "added a", "did not add a")}\n' |
20670 | 1133 2 did not add a |
20518
1e43f15a647f
template: add ifcontains template function
Durham Goode <durham@fb.com>
parents:
20370
diff
changeset
|
1134 1 did not add a |
1e43f15a647f
template: add ifcontains template function
Durham Goode <durham@fb.com>
parents:
20370
diff
changeset
|
1135 0 added a |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1136 |
28270
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1137 $ hg log --debug -T '{rev}{ifcontains(1, parents, " is parent of 1")}\n' |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1138 2 is parent of 1 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1139 1 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1140 0 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1141 |
38267
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1142 $ hg log -l1 -T '{ifcontains("branch", extras, "t", "f")}\n' |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1143 t |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1144 $ hg log -l1 -T '{ifcontains("branch", extras % "{key}", "t", "f")}\n' |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1145 t |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1146 $ hg log -l1 -T '{ifcontains("branc", extras % "{key}", "t", "f")}\n' |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1147 f |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1148 $ hg log -l1 -T '{ifcontains("branc", stringify(extras % "{key}"), "t", "f")}\n' |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1149 t |
fb874fc1d9b4
templater: abstract ifcontains() over wrapped types
Yuya Nishihara <yuya@tcha.org>
parents:
38265
diff
changeset
|
1150 |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1151 Test revset function |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1152 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1153 $ hg log --template '{rev} {ifcontains(rev, revset("."), "current rev", "not current rev")}\n' |
20670 | 1154 2 current rev |
1155 1 not current rev | |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1156 0 not current rev |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1157 |
21540
d8fb835376d1
templates: fix ifcontains against sets with length > 1 (issue4259)
Durham Goode <durham@fb.com>
parents:
21024
diff
changeset
|
1158 $ hg log --template '{rev} {ifcontains(rev, revset(". + .^"), "match rev", "not match rev")}\n' |
d8fb835376d1
templates: fix ifcontains against sets with length > 1 (issue4259)
Durham Goode <durham@fb.com>
parents:
21024
diff
changeset
|
1159 2 match rev |
d8fb835376d1
templates: fix ifcontains against sets with length > 1 (issue4259)
Durham Goode <durham@fb.com>
parents:
21024
diff
changeset
|
1160 1 match rev |
d8fb835376d1
templates: fix ifcontains against sets with length > 1 (issue4259)
Durham Goode <durham@fb.com>
parents:
21024
diff
changeset
|
1161 0 not match rev |
d8fb835376d1
templates: fix ifcontains against sets with length > 1 (issue4259)
Durham Goode <durham@fb.com>
parents:
21024
diff
changeset
|
1162 |
34659
3edfd472f3cb
templater: fix ifcontains() to handle type mismatch gracefully
Yuya Nishihara <yuya@tcha.org>
parents:
34581
diff
changeset
|
1163 $ hg log -T '{ifcontains(desc, revset(":"), "", "type not match")}\n' -l1 |
3edfd472f3cb
templater: fix ifcontains() to handle type mismatch gracefully
Yuya Nishihara <yuya@tcha.org>
parents:
34581
diff
changeset
|
1164 type not match |
3edfd472f3cb
templater: fix ifcontains() to handle type mismatch gracefully
Yuya Nishihara <yuya@tcha.org>
parents:
34581
diff
changeset
|
1165 |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1166 $ hg log --template '{rev} Parents: {revset("parents(%s)", rev)}\n' |
20670 | 1167 2 Parents: 1 |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1168 1 Parents: 0 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1169 0 Parents: |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1170 |
22304
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1171 $ cat >> .hg/hgrc <<EOF |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1172 > [revsetalias] |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1173 > myparents(\$1) = parents(\$1) |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1174 > EOF |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1175 $ hg log --template '{rev} Parents: {revset("myparents(%s)", rev)}\n' |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1176 2 Parents: 1 |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1177 1 Parents: 0 |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1178 0 Parents: |
5678b0e3608f
templater: enable alias predicates to be used in "revset()" function
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21944
diff
changeset
|
1179 |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1180 $ hg log --template 'Rev: {rev}\n{revset("::%s", rev) % "Ancestor: {revision}\n"}\n' |
20670 | 1181 Rev: 2 |
1182 Ancestor: 0 | |
1183 Ancestor: 1 | |
1184 Ancestor: 2 | |
1185 | |
20519
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1186 Rev: 1 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1187 Ancestor: 0 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1188 Ancestor: 1 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1189 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1190 Rev: 0 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1191 Ancestor: 0 |
cda9d2b6beab
template: add revset() template function
Durham Goode <durham@fb.com>
parents:
20518
diff
changeset
|
1192 |
25637
5eccebe23942
templater: evaluate "query" argument passed to revset()
Yuya Nishihara <yuya@tcha.org>
parents:
25562
diff
changeset
|
1193 $ hg log --template '{revset("TIP"|lower)}\n' -l1 |
5eccebe23942
templater: evaluate "query" argument passed to revset()
Yuya Nishihara <yuya@tcha.org>
parents:
25562
diff
changeset
|
1194 2 |
5eccebe23942
templater: evaluate "query" argument passed to revset()
Yuya Nishihara <yuya@tcha.org>
parents:
25562
diff
changeset
|
1195 |
28333
41373244f4e5
templater: fix revset() to evaluate format arguments eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28332
diff
changeset
|
1196 $ hg log -T '{revset("%s", "t{"ip"}")}\n' -l1 |
41373244f4e5
templater: fix revset() to evaluate format arguments eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28332
diff
changeset
|
1197 2 |
41373244f4e5
templater: fix revset() to evaluate format arguments eagerly
Yuya Nishihara <yuya@tcha.org>
parents:
28332
diff
changeset
|
1198 |
28270
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1199 a list template is evaluated for each item of revset/parents |
26234
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1200 |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1201 $ hg log -T '{rev} p: {revset("p1(%s)", rev) % "{rev}:{node|short}"}\n' |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1202 2 p: 1:bcc7ff960b8e |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1203 1 p: 0:f7769ec2ab97 |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1204 0 p: |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1205 |
28270
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1206 $ hg log --debug -T '{rev} p:{parents % " {rev}:{node|short}"}\n' |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1207 2 p: 1:bcc7ff960b8e -1:000000000000 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1208 1 p: 0:f7769ec2ab97 -1:000000000000 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1209 0 p: -1:000000000000 -1:000000000000 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1210 |
26234
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1211 therefore, 'revcache' should be recreated for each rev |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1212 |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1213 $ hg log -T '{rev} {file_adds}\np {revset("p1(%s)", rev) % "{file_adds}"}\n' |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1214 2 aa b |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1215 p |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1216 1 |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1217 p a |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1218 0 a |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1219 p |
e4609ec959f8
templater: switch ctx of list expression to rev of revset() (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
26222
diff
changeset
|
1220 |
28270
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1221 $ hg log --debug -T '{rev} {file_adds}\np {parents % "{file_adds}"}\n' |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1222 2 aa b |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1223 p |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1224 1 |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1225 p a |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1226 0 a |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1227 p |
650c9f69a744
templatekw: switch ctx of list expression to rev of {parents} (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
28239
diff
changeset
|
1228 |
28177
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1229 a revset item must be evaluated as an integer revision, not an offset from tip |
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1230 |
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1231 $ hg log -l 1 -T '{revset("null") % "{rev}:{node|short}"}\n' |
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1232 -1:000000000000 |
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1233 $ hg log -l 1 -T '{revset("%s", "null") % "{rev}:{node|short}"}\n' |
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1234 -1:000000000000 |
ab8107c923b4
templater: evaluate each item of revset() as integer revision
Yuya Nishihara <yuya@tcha.org>
parents:
27994
diff
changeset
|
1235 |
29623
33bf8bd8c5b9
templatekw: fix join format of revset() function
Yuya Nishihara <yuya@tcha.org>
parents:
29085
diff
changeset
|
1236 join() should pick '{rev}' from revset items: |
33bf8bd8c5b9
templatekw: fix join format of revset() function
Yuya Nishihara <yuya@tcha.org>
parents:
29085
diff
changeset
|
1237 |
33bf8bd8c5b9
templatekw: fix join format of revset() function
Yuya Nishihara <yuya@tcha.org>
parents:
29085
diff
changeset
|
1238 $ hg log -R ../a -T '{join(revset("parents(%d)", rev), ", ")}\n' -r6 |
33bf8bd8c5b9
templatekw: fix join format of revset() function
Yuya Nishihara <yuya@tcha.org>
parents:
29085
diff
changeset
|
1239 4, 5 |
33bf8bd8c5b9
templatekw: fix join format of revset() function
Yuya Nishihara <yuya@tcha.org>
parents:
29085
diff
changeset
|
1240 |
29624
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1241 on the other hand, parents are formatted as '{rev}:{node|formatnode}' by |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1242 default. join() should agree with the default formatting: |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1243 |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1244 $ hg log -R ../a -T '{join(parents, ", ")}\n' -r6 |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1245 5:13207e5a10d9, 4:bbe44766e73d |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1246 |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1247 $ hg log -R ../a -T '{join(parents, ",\n")}\n' -r6 --debug |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1248 5:13207e5a10d9fd28ec424934298e176197f2c67f, |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1249 4:bbe44766e73d5f11ed2177f1838de10c53ef3e74 |
1a129dd05b7d
templatekw: fix join format of parents keyword (issue5292)
Yuya Nishihara <yuya@tcha.org>
parents:
29623
diff
changeset
|
1250 |
35561
4c3a4bb31c0e
revsetlang: raise ParseError to report invalid format character
Yuya Nishihara <yuya@tcha.org>
parents:
35470
diff
changeset
|
1251 Invalid arguments passed to revset() |
4c3a4bb31c0e
revsetlang: raise ParseError to report invalid format character
Yuya Nishihara <yuya@tcha.org>
parents:
35470
diff
changeset
|
1252 |
4c3a4bb31c0e
revsetlang: raise ParseError to report invalid format character
Yuya Nishihara <yuya@tcha.org>
parents:
35470
diff
changeset
|
1253 $ hg log -T '{revset("%whatever", 0)}\n' |
4c3a4bb31c0e
revsetlang: raise ParseError to report invalid format character
Yuya Nishihara <yuya@tcha.org>
parents:
35470
diff
changeset
|
1254 hg: parse error: unexpected revspec format character w |
4c3a4bb31c0e
revsetlang: raise ParseError to report invalid format character
Yuya Nishihara <yuya@tcha.org>
parents:
35470
diff
changeset
|
1255 [255] |
35591
8f1a7adb3225
revsetlang: catch invalid format character with %l prefix
Yuya Nishihara <yuya@tcha.org>
parents:
35561
diff
changeset
|
1256 $ hg log -T '{revset("%lwhatever", files)}\n' |
8f1a7adb3225
revsetlang: catch invalid format character with %l prefix
Yuya Nishihara <yuya@tcha.org>
parents:
35561
diff
changeset
|
1257 hg: parse error: unexpected revspec format character w |
8f1a7adb3225
revsetlang: catch invalid format character with %l prefix
Yuya Nishihara <yuya@tcha.org>
parents:
35561
diff
changeset
|
1258 [255] |
35592
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1259 $ hg log -T '{revset("%s %s", 0)}\n' |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1260 hg: parse error: missing argument for revspec |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1261 [255] |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1262 $ hg log -T '{revset("", 0)}\n' |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1263 hg: parse error: too many revspec arguments specified |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1264 [255] |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1265 $ hg log -T '{revset("%s", 0, 1)}\n' |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1266 hg: parse error: too many revspec arguments specified |
0fd617afebc0
revsetlang: check number of arguments passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35591
diff
changeset
|
1267 [255] |
35593
850cd045b1df
revsetlang: check incomplete revspec format character
Yuya Nishihara <yuya@tcha.org>
parents:
35592
diff
changeset
|
1268 $ hg log -T '{revset("%", 0)}\n' |
850cd045b1df
revsetlang: check incomplete revspec format character
Yuya Nishihara <yuya@tcha.org>
parents:
35592
diff
changeset
|
1269 hg: parse error: incomplete revspec format character |
850cd045b1df
revsetlang: check incomplete revspec format character
Yuya Nishihara <yuya@tcha.org>
parents:
35592
diff
changeset
|
1270 [255] |
850cd045b1df
revsetlang: check incomplete revspec format character
Yuya Nishihara <yuya@tcha.org>
parents:
35592
diff
changeset
|
1271 $ hg log -T '{revset("%l", 0)}\n' |
850cd045b1df
revsetlang: check incomplete revspec format character
Yuya Nishihara <yuya@tcha.org>
parents:
35592
diff
changeset
|
1272 hg: parse error: incomplete revspec format character |
850cd045b1df
revsetlang: check incomplete revspec format character
Yuya Nishihara <yuya@tcha.org>
parents:
35592
diff
changeset
|
1273 [255] |
35594
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1274 $ hg log -T '{revset("%d", 'foo')}\n' |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1275 hg: parse error: invalid argument for revspec |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1276 [255] |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1277 $ hg log -T '{revset("%ld", files)}\n' |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1278 hg: parse error: invalid argument for revspec |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1279 [255] |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1280 $ hg log -T '{revset("%ls", 0)}\n' |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1281 hg: parse error: invalid argument for revspec |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1282 [255] |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1283 $ hg log -T '{revset("%b", 'foo')}\n' |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1284 hg: parse error: invalid argument for revspec |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1285 [255] |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1286 $ hg log -T '{revset("%lb", files)}\n' |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1287 hg: parse error: invalid argument for revspec |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1288 [255] |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1289 $ hg log -T '{revset("%r", 0)}\n' |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1290 hg: parse error: invalid argument for revspec |
468d7a1f6633
revsetlang: catch invalid value passed to formatspec()
Yuya Nishihara <yuya@tcha.org>
parents:
35593
diff
changeset
|
1291 [255] |
35561
4c3a4bb31c0e
revsetlang: raise ParseError to report invalid format character
Yuya Nishihara <yuya@tcha.org>
parents:
35470
diff
changeset
|
1292 |
30008
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1293 Test files function |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1294 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1295 $ hg log -T "{rev}\n{join(files('*'), '\n')}\n" |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1296 2 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1297 a |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1298 aa |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1299 b |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1300 1 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1301 a |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1302 0 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1303 a |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1304 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1305 $ hg log -T "{rev}\n{join(files('aa'), '\n')}\n" |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1306 2 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1307 aa |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1308 1 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1309 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1310 0 |
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1311 |
39367
83f8f7b9fa60
templatekw: alias {file} of files list to {path}
Yuya Nishihara <yuya@tcha.org>
parents:
38856
diff
changeset
|
1312 |
83f8f7b9fa60
templatekw: alias {file} of files list to {path}
Yuya Nishihara <yuya@tcha.org>
parents:
38856
diff
changeset
|
1313 $ hg log -l1 -T "{files('aa') % '{file}\n'}" |
83f8f7b9fa60
templatekw: alias {file} of files list to {path}
Yuya Nishihara <yuya@tcha.org>
parents:
38856
diff
changeset
|
1314 aa |
83f8f7b9fa60
templatekw: alias {file} of files list to {path}
Yuya Nishihara <yuya@tcha.org>
parents:
38856
diff
changeset
|
1315 $ hg log -l1 -T "{files('aa') % '{path}\n'}" |
83f8f7b9fa60
templatekw: alias {file} of files list to {path}
Yuya Nishihara <yuya@tcha.org>
parents:
38856
diff
changeset
|
1316 aa |
83f8f7b9fa60
templatekw: alias {file} of files list to {path}
Yuya Nishihara <yuya@tcha.org>
parents:
38856
diff
changeset
|
1317 |
38277
aaed058a0390
context: make workingctx.matches() filter our removed files (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
38271
diff
changeset
|
1318 $ hg rm a |
aaed058a0390
context: make workingctx.matches() filter our removed files (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
38271
diff
changeset
|
1319 $ hg log -r "wdir()" -T "{rev}\n{join(files('*'), '\n')}\n" |
aaed058a0390
context: make workingctx.matches() filter our removed files (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
38271
diff
changeset
|
1320 2147483647 |
aaed058a0390
context: make workingctx.matches() filter our removed files (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
38271
diff
changeset
|
1321 aa |
aaed058a0390
context: make workingctx.matches() filter our removed files (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
38271
diff
changeset
|
1322 b |
aaed058a0390
context: make workingctx.matches() filter our removed files (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
38271
diff
changeset
|
1323 $ hg revert a |
30008
e83f89d3b1f7
templates: add built-in files() function
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com>
parents:
29848
diff
changeset
|
1324 |
30083
bd1f043d1ea3
templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org>
parents:
30008
diff
changeset
|
1325 Test relpath function |
bd1f043d1ea3
templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org>
parents:
30008
diff
changeset
|
1326 |
bd1f043d1ea3
templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org>
parents:
30008
diff
changeset
|
1327 $ hg log -r0 -T '{files % "{file|relpath}\n"}' |
bd1f043d1ea3
templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org>
parents:
30008
diff
changeset
|
1328 a |
bd1f043d1ea3
templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org>
parents:
30008
diff
changeset
|
1329 $ cd .. |
bd1f043d1ea3
templater: add relpath() to convert repo path to relative path (issue5394)
Yuya Nishihara <yuya@tcha.org>
parents:
30008
diff
changeset
|
1330 $ hg log -R r -r0 -T '{files % "{file|relpath}\n"}' |
30732
d4ec69ff652a
tests: update globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
30237
diff
changeset
|
1331 r/a |
27894
a94f7eef3199
templatekw: add {namespaces} keyword
Yuya Nishihara <yuya@tcha.org>
parents:
26856
diff
changeset
|
1332 |
20662
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
1333 Test stringify on sub expressions |
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
1334 |
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
1335 $ hg log -R a -r 8 --template '{join(files, if("1", if("1", ", ")))}\n' |
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
1336 fourth, second, third |
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
1337 $ hg log -R a -r 8 --template '{strip(if("1", if("1", "-abc-")), if("1", if("1", "-")))}\n' |
a54c0d830499
templater: apply "stringify()" on sub expression to get string correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20661
diff
changeset
|
1338 abc |
20670 | 1339 |
21820
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1340 Test splitlines |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1341 |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1342 $ hg log -Gv -R a --template "{splitlines(desc) % 'foo {line}\n'}" |
24985
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1343 @ foo Modify, add, remove, rename |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1344 | |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1345 o foo future |
21820
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1346 | |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1347 o foo third |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1348 | |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1349 o foo second |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1350 |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1351 o foo merge |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1352 |\ |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1353 | o foo new head |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1354 | | |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1355 o | foo new branch |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1356 |/ |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1357 o foo no user, no domain |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1358 | |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1359 o foo no person |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1360 | |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1361 o foo other 1 |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1362 | foo other 2 |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1363 | foo |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1364 | foo other 3 |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1365 o foo line 1 |
cce404b0c918
templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com>
parents:
21540
diff
changeset
|
1366 foo line 2 |
21821
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1367 |
32039
2ab7578e685b
templatefilters: fix crash by string formatting of '{x|splitlines}'
Yuya Nishihara <yuya@tcha.org>
parents:
31928
diff
changeset
|
1368 $ hg log -R a -r0 -T '{desc|splitlines}\n' |
2ab7578e685b
templatefilters: fix crash by string formatting of '{x|splitlines}'
Yuya Nishihara <yuya@tcha.org>
parents:
31928
diff
changeset
|
1369 line 1 line 2 |
2ab7578e685b
templatefilters: fix crash by string formatting of '{x|splitlines}'
Yuya Nishihara <yuya@tcha.org>
parents:
31928
diff
changeset
|
1370 $ hg log -R a -r0 -T '{join(desc|splitlines, "|")}\n' |
2ab7578e685b
templatefilters: fix crash by string formatting of '{x|splitlines}'
Yuya Nishihara <yuya@tcha.org>
parents:
31928
diff
changeset
|
1371 line 1|line 2 |
2ab7578e685b
templatefilters: fix crash by string formatting of '{x|splitlines}'
Yuya Nishihara <yuya@tcha.org>
parents:
31928
diff
changeset
|
1372 |
21821
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1373 Test startswith |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1374 $ hg log -Gv -R a --template "{startswith(desc)}" |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1375 hg: parse error: startswith expects two arguments |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1376 [255] |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1377 |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1378 $ hg log -Gv -R a --template "{startswith('line', desc)}" |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1379 @ |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1380 | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1381 o |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1382 | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1383 o |
24985
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1384 | |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1385 o |
21821
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1386 |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1387 o |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1388 |\ |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1389 | o |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1390 | | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1391 o | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1392 |/ |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1393 o |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1394 | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1395 o |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1396 | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1397 o |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1398 | |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1399 o line 1 |
4a445dc5abff
templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com>
parents:
21820
diff
changeset
|
1400 line 2 |
21822
028a48105191
templater: add symbol to error
Ryan McElroy <rmcelroy@fb.com>
parents:
21821
diff
changeset
|
1401 |
21846
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1402 Test word function (including index out of bounds graceful failure) |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1403 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1404 $ hg log -Gv -R a --template "{word('1', desc)}" |
24985
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1405 @ add, |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1406 | |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1407 o |
21846
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1408 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1409 o |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1410 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1411 o |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1412 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1413 o |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1414 |\ |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1415 | o head |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1416 | | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1417 o | branch |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1418 |/ |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1419 o user, |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1420 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1421 o person |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1422 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1423 o 1 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1424 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1425 o 1 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1426 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1427 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1428 Test word third parameter used as splitter |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1429 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1430 $ hg log -Gv -R a --template "{word('0', desc, 'o')}" |
24985
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1431 @ M |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1432 | |
20bff5d09018
tests: add a new commit to test-commandline-template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
24966
diff
changeset
|
1433 o future |
21846
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1434 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1435 o third |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1436 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1437 o sec |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1438 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1439 o merge |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1440 |\ |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1441 | o new head |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1442 | | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1443 o | new branch |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1444 |/ |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1445 o n |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1446 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1447 o n |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1448 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1449 o |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1450 | |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1451 o line 1 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1452 line 2 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1453 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1454 Test word error messages for not enough and too many arguments |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1455 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1456 $ hg log -Gv -R a --template "{word('0')}" |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1457 hg: parse error: word expects two or three arguments, got 1 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1458 [255] |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1459 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1460 $ hg log -Gv -R a --template "{word('0', desc, 'o', 'h', 'b', 'o', 'y')}" |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1461 hg: parse error: word expects two or three arguments, got 7 |
8f23f8096606
templater: introduce word function
Ryan McElroy <rmcelroy@fb.com>
parents:
21822
diff
changeset
|
1462 [255] |
24886
10a13da8840d
templater: fail more gracefully for blank strings to word
Ryan McElroy <rmcelroy@fb.com>
parents:
24853
diff
changeset
|
1463 |
25002
829faf8ab605
templater: tokenize decimal integer literal (issue4638) (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
24985
diff
changeset
|
1464 Test word for integer literal |
829faf8ab605
templater: tokenize decimal integer literal (issue4638) (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
24985
diff
changeset
|
1465 |
829faf8ab605
templater: tokenize decimal integer literal (issue4638) (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
24985
diff
changeset
|
1466 $ hg log -R a --template "{word(2, desc)}\n" -r0 |
829faf8ab605
templater: tokenize decimal integer literal (issue4638) (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
24985
diff
changeset
|
1467 line |
829faf8ab605
templater: tokenize decimal integer literal (issue4638) (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
24985
diff
changeset
|
1468 |
24886
10a13da8840d
templater: fail more gracefully for blank strings to word
Ryan McElroy <rmcelroy@fb.com>
parents:
24853
diff
changeset
|
1469 Test word for invalid numbers |
10a13da8840d
templater: fail more gracefully for blank strings to word
Ryan McElroy <rmcelroy@fb.com>
parents:
24853
diff
changeset
|
1470 |
25002
829faf8ab605
templater: tokenize decimal integer literal (issue4638) (BC)
Yuya Nishihara <yuya@tcha.org>
parents:
24985
diff
changeset
|
1471 $ hg log -Gv -R a --template "{word('a', desc)}" |
25003
5e584edbb211
templater: update error message of invalid number passed to word() function
Yuya Nishihara <yuya@tcha.org>
parents:
25002
diff
changeset
|
1472 hg: parse error: word expects an integer index |
24886
10a13da8840d
templater: fail more gracefully for blank strings to word
Ryan McElroy <rmcelroy@fb.com>
parents:
24853
diff
changeset
|
1473 [255] |
25489
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1474 |
26502
4ca98a389152
templater: protect word() from crashing on out of range negative value
Matt Harbison <matt_harbison@yahoo.com>
parents:
25862
diff
changeset
|
1475 Test word for out of range |
4ca98a389152
templater: protect word() from crashing on out of range negative value
Matt Harbison <matt_harbison@yahoo.com>
parents:
25862
diff
changeset
|
1476 |
4ca98a389152
templater: protect word() from crashing on out of range negative value
Matt Harbison <matt_harbison@yahoo.com>
parents:
25862
diff
changeset
|
1477 $ hg log -R a --template "{word(10000, desc)}" |
4ca98a389152
templater: protect word() from crashing on out of range negative value
Matt Harbison <matt_harbison@yahoo.com>
parents:
25862
diff
changeset
|
1478 $ hg log -R a --template "{word(-10000, desc)}" |
4ca98a389152
templater: protect word() from crashing on out of range negative value
Matt Harbison <matt_harbison@yahoo.com>
parents:
25862
diff
changeset
|
1479 |
25489
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1480 Test indent and not adding to empty lines |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1481 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1482 $ hg log -T "-----\n{indent(desc, '>> ', ' > ')}\n" -r 0:1 -R a |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1483 ----- |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1484 > line 1 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1485 >> line 2 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1486 ----- |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1487 > other 1 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1488 >> other 2 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1489 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1490 >> other 3 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1491 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1492 Test with non-strings like dates |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1493 |
ef8956aa8755
templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com>
parents:
25349
diff
changeset
|
1494 $ hg log -T "{indent(date, ' ')}\n" -r 2:3 -R a |
38299
88e7105b5cd9
templater: restore the original string format of {date}
Yuya Nishihara <yuya@tcha.org>
parents:
38289
diff
changeset
|
1495 1200000.00 |
88e7105b5cd9
templater: restore the original string format of {date}
Yuya Nishihara <yuya@tcha.org>
parents:
38289
diff
changeset
|
1496 1300000.00 |
26215
72aad184f061
templater: create string unescape helper (issue4798)
Matt Mackall <mpm@selenic.com>
parents:
26188
diff
changeset
|
1497 |
28212
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1498 json filter should escape HTML tags so that the output can be embedded in hgweb: |
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1499 |
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1500 $ hg log -T "{'<foo@example.org>'|json}\n" -R a -l1 |
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1501 "\u003cfoo@example.org\u003e" |
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1502 |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1503 Set up repository for non-ascii encoding tests: |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1504 |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1505 $ hg init nonascii |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1506 $ cd nonascii |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
39367
diff
changeset
|
1507 $ "$PYTHON" <<EOF |
36504
b075f45456a5
py3: fix test-command-template.t to write files in binary mode
Yuya Nishihara <yuya@tcha.org>
parents:
36445
diff
changeset
|
1508 > open('latin1', 'wb').write(b'\xe9') |
b075f45456a5
py3: fix test-command-template.t to write files in binary mode
Yuya Nishihara <yuya@tcha.org>
parents:
36445
diff
changeset
|
1509 > open('utf-8', 'wb').write(b'\xc3\xa9') |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1510 > EOF |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1511 $ HGENCODING=utf-8 hg branch -q `cat utf-8` |
28239
7279e0132347
templatekw: workaround for utf-8 round-trip of {desc}
Yuya Nishihara <yuya@tcha.org>
parents:
28212
diff
changeset
|
1512 $ HGENCODING=utf-8 hg ci -qAm "non-ascii branch: `cat utf-8`" utf-8 |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1513 |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1514 json filter should try round-trip conversion to utf-8: |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1515 |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1516 $ HGENCODING=ascii hg log -T "{branch|json}\n" -r0 |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1517 "\u00e9" |
28239
7279e0132347
templatekw: workaround for utf-8 round-trip of {desc}
Yuya Nishihara <yuya@tcha.org>
parents:
28212
diff
changeset
|
1518 $ HGENCODING=ascii hg log -T "{desc|json}\n" -r0 |
7279e0132347
templatekw: workaround for utf-8 round-trip of {desc}
Yuya Nishihara <yuya@tcha.org>
parents:
28212
diff
changeset
|
1519 "non-ascii branch: \u00e9" |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1520 |
37947
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1521 json filter should take input as utf-8 if it was converted from utf-8: |
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1522 |
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1523 $ HGENCODING=latin-1 hg log -T "{branch|json}\n" -r0 |
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1524 "\u00e9" |
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1525 $ HGENCODING=latin-1 hg log -T "{desc|json}\n" -r0 |
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1526 "non-ascii branch: \u00e9" |
3ea3c96ada54
encoding: introduce tagging type for non-lossy non-ASCII string
Yuya Nishihara <yuya@tcha.org>
parents:
37859
diff
changeset
|
1527 |
28212
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1528 json filter takes input as utf-8b: |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1529 |
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1530 $ HGENCODING=ascii hg log -T "{'`cat utf-8`'|json}\n" -l1 |
28212
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1531 "\u00e9" |
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1532 $ HGENCODING=ascii hg log -T "{'`cat latin1`'|json}\n" -l1 |
d4419c01532b
templatefilters: make json filter be byte-transparent (BC) (issue4926)
Yuya Nishihara <yuya@tcha.org>
parents:
28209
diff
changeset
|
1533 "\udce9" |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1534 |
28209
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1535 utf8 filter: |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1536 |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1537 $ HGENCODING=ascii hg log -T "round-trip: {branch|utf8|hex}\n" -r0 |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1538 round-trip: c3a9 |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1539 $ HGENCODING=latin1 hg log -T "decoded: {'`cat latin1`'|utf8|hex}\n" -l1 |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1540 decoded: c3a9 |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1541 $ HGENCODING=ascii hg log -T "replaced: {'`cat latin1`'|utf8|hex}\n" -l1 |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1542 abort: decoding near * (glob) |
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1543 [255] |
37223
08e042f0a67c
templatefilters: declare input type as bytes where appropriate
Yuya Nishihara <yuya@tcha.org>
parents:
37105
diff
changeset
|
1544 $ hg log -T "coerced to string: {rev|utf8}\n" -r0 |
08e042f0a67c
templatefilters: declare input type as bytes where appropriate
Yuya Nishihara <yuya@tcha.org>
parents:
37105
diff
changeset
|
1545 coerced to string: 0 |
28209
8ddf893560fa
templatefilters: add "utf8" to get utf-8 bytes from local-encoding text
Yuya Nishihara <yuya@tcha.org>
parents:
28177
diff
changeset
|
1546 |
31520
6f150bb19317
templater: make pad() compute actual width
Yuya Nishihara <yuya@tcha.org>
parents:
31519
diff
changeset
|
1547 pad width: |
6f150bb19317
templater: make pad() compute actual width
Yuya Nishihara <yuya@tcha.org>
parents:
31519
diff
changeset
|
1548 |
6f150bb19317
templater: make pad() compute actual width
Yuya Nishihara <yuya@tcha.org>
parents:
31519
diff
changeset
|
1549 $ HGENCODING=utf-8 hg debugtemplate "{pad('`cat utf-8`', 2, '-')}\n" |
6f150bb19317
templater: make pad() compute actual width
Yuya Nishihara <yuya@tcha.org>
parents:
31519
diff
changeset
|
1550 \xc3\xa9- (esc) |
6f150bb19317
templater: make pad() compute actual width
Yuya Nishihara <yuya@tcha.org>
parents:
31519
diff
changeset
|
1551 |
26856
baa77652be68
templatefilters: try round-trip utf-8 conversion by json filter (issue4933)
Yuya Nishihara <yuya@tcha.org>
parents:
26504
diff
changeset
|
1552 $ cd .. |