Mercurial > hg
annotate mercurial/help/templates.txt @ 19126:5c5152af0d15
log-style: add a log style that is default+phase (issue3436)
There is a new style called phases style.
Usage::
hg log --style phases
Why do we need this new style - in what way is it different from or similar to
existing styles?
The new style is default + phases information. With the new phases feature the
users exhibited their desire for a new style that could help them.
Why do this need a new style - couldn't it be folded into an existing style?
The default style and the new one are about the same, the difference is the
phases tag. The users find both styles useful, this means that the both styles
must exist.
author | Iulian Stana <julian.stana@gmail.com> |
---|---|
date | Thu, 18 Apr 2013 22:56:57 +0300 |
parents | f5db3092790f |
children | 867b9957d895 |
rev | line source |
---|---|
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
1 Mercurial allows you to customize output of commands through |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
2 templates. You can either pass in a template from the command |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
3 line, via the --template option, or select an existing |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
4 template-style (--style). |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
5 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
6 You can customize output for any "log-like" command: log, |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
7 outgoing, incoming, tip, parents, heads and glog. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
8 |
19126
5c5152af0d15
log-style: add a log style that is default+phase (issue3436)
Iulian Stana <julian.stana@gmail.com>
parents:
18747
diff
changeset
|
9 Five styles are packaged with Mercurial: default (the style used |
5c5152af0d15
log-style: add a log style that is default+phase (issue3436)
Iulian Stana <julian.stana@gmail.com>
parents:
18747
diff
changeset
|
10 when no explicit preference is passed), compact, changelog, phases |
11034
3b89899934a6
log: document the new xml style
Dan Connolly <http://www.w3.org/People/Connolly/>
parents:
10759
diff
changeset
|
11 and xml. |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
12 Usage:: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
13 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
14 $ hg log -r1 --style changelog |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
15 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
16 A template is a piece of text, with markup to invoke variable |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
17 expansion:: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
18 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
19 $ hg log -r1 --template "{node}\n" |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
20 b56ce7b07c52de7d5fd79fb89701ea538af65746 |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
21 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
22 Strings in curly braces are called keywords. The availability of |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
23 keywords depends on the exact context of the templater. These |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
24 keywords are usually available for templating a log-like command: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
25 |
13585
2e80d495592a
templates: generate keyword help dynamically
Patrick Mezard <pmezard@gmail.com>
parents:
13498
diff
changeset
|
26 .. keywordsmarker |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
27 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
28 The "date" keyword does not produce human-readable output. If you |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
29 want to use a date in your output, you can use a filter to process |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
30 it. Filters are functions which return a string based on the input |
10759
9f6e30a89f11
help: point out need for stringification
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10066
diff
changeset
|
31 variable. Be sure to use the stringify filter first when you're |
9f6e30a89f11
help: point out need for stringification
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10066
diff
changeset
|
32 applying a string-input filter to a list-like input variable. |
9f6e30a89f11
help: point out need for stringification
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10066
diff
changeset
|
33 You can also use a chain of filters to get the desired output:: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
34 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
35 $ hg tip --template "{date|isodate}\n" |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
36 2008-08-21 18:22 +0000 |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
37 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
38 List of filters: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
39 |
13591
264f292a0c6f
templatefilters: move doc from templates.txt to docstrings
Patrick Mezard <pmezard@gmail.com>
parents:
13585
diff
changeset
|
40 .. filtersmarker |
18465
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
41 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
42 Note that a filter is nothing more than a function call, i.e. |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
43 ``expr|filter`` is equivalent to ``filter(expr)``. |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
44 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
45 In addition to filters, there are some basic built-in functions: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
46 |
18582
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
47 - date(date[, fmt]) |
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
48 |
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
49 - fill(text[, width]) |
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
50 |
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
51 - get(dict, key) |
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
52 |
18465
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
53 - if(expr, then[, else]) |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
54 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
55 - ifeq(expr, expr, then[, else]) |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
56 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
57 - join(list, sep) |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
58 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
59 - label(label, expr) |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
60 |
18582
ef78450c8df6
templater: add get() function to access dict element (e.g. extra)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
18465
diff
changeset
|
61 - sub(pat, repl, expr) |
18465
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
62 |
18747
f5db3092790f
hgweb: generate HTML documentation
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
18582
diff
changeset
|
63 - rstdoc(text, style) |
f5db3092790f
hgweb: generate HTML documentation
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
18582
diff
changeset
|
64 |
18465
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
65 Also, for any expression that returns a list, there is a list operator: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
66 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
67 - expr % "{template}" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
68 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
69 Some sample command line templates: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
70 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
71 - Format lists, e.g. files:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
72 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
73 $ hg log -r 0 --template "files:\n{files % ' {file}\n'}" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
74 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
75 - Join the list of files with a ", ":: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
76 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
77 $ hg log -r 0 --template "files: {join(files, ', ')}\n" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
78 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
79 - Format date:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
80 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
81 $ hg log -r 0 --template "{date(date, '%Y')}\n" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
82 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
83 - Output the description set to a fill-width of 30:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
84 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
85 $ hg log -r 0 --template "{fill(desc, '30')}" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
86 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
87 - Use a conditional to test for the default branch:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
88 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
89 $ hg log -r 0 --template "{ifeq(branch, 'default', 'on the main branch', |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
90 'on branch {branch}')}\n" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
91 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
92 - Append a newline if not empty:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
93 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
94 $ hg tip --template "{if(author, '{author}\n')}" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
95 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
96 - Label the output for use with the color extension:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
97 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
98 $ hg log -r 0 --template "{label('changeset.{phase}', node|short)}\n" |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
99 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
100 - Invert the firstline filter, i.e. everything but the first line:: |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
101 |
3aa8b4b36b64
help: add documentation for new template functions
Sean Farley <sean.michael.farley@gmail.com>
parents:
13591
diff
changeset
|
102 $ hg log -r 0 --template "{sub(r'^.*\n?\n?', '', desc)}\n" |