Mercurial > hg
annotate mercurial/help/revsets.txt @ 29748:5e2365698d44
hgweb: config option to control zlib compression level
Before this patch, the HTTP transport protocol would always zlib
compress certain responses (notably "getbundle" wire protocol commands)
at zlib compression level 6.
zlib can be a massive CPU resource sink for servers. Some server
operators may wish to reduce server-side CPU requirements while
requiring more bandwidth. This is common on corporate intranets, for
example. Others may wish to use more CPU but reduce bandwidth.
This patch introduces a config option to allow server operators
to control the zlib compression level.
On the "mozilla-unified" generaldelta repository, setting this
value to "0" (disable compression) results in server-side CPU
utilization for a `hg clone` going from ~180s to ~124s CPU time on
my i7-6700K. A level of "1" (which increases the transfer size from
~1,074 MB at level 6 to ~1,222 MB) utilizes ~132s CPU time.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 07 Aug 2016 18:09:58 -0700 |
parents | 18c1b107898e |
children | 96358865edb3 |
rev | line source |
---|---|
11382 | 1 Mercurial supports a functional language for selecting a set of |
2 revisions. | |
3 | |
4 The language supports a number of predicates which are joined by infix | |
5 operators. Parenthesis can be used for grouping. | |
6 | |
15962
f7c8d6ee6056
revset: simplify help not about quoting
Matt Mackall <mpm@selenic.com>
parents:
14693
diff
changeset
|
7 Identifiers such as branch names may need quoting with single or |
f7c8d6ee6056
revset: simplify help not about quoting
Matt Mackall <mpm@selenic.com>
parents:
14693
diff
changeset
|
8 double quotes if they contain characters like ``-`` or if they match |
f7c8d6ee6056
revset: simplify help not about quoting
Matt Mackall <mpm@selenic.com>
parents:
14693
diff
changeset
|
9 one of the predefined predicates. |
12408
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
10 |
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
11 Special characters can be used in quoted identifiers by escaping them, |
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
12 e.g., ``\n`` is interpreted as a newline. To prevent them from being |
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
13 interpreted, strings can be prefixed with ``r``, e.g. ``r'...'``. |
11382 | 14 |
15 There is a single prefix operator: | |
16 | |
17 ``not x`` | |
18 Changesets not in x. Short form is ``! x``. | |
19 | |
20 These are the supported infix operators: | |
21 | |
22 ``x::y`` | |
23 A DAG range, meaning all changesets that are descendants of x and | |
24 ancestors of y, including x and y themselves. If the first endpoint | |
25 is left out, this is equivalent to ``ancestors(y)``, if the second | |
11450
6bca9801c92a
revset: fix spelling typo
Julian Cowley <julian@lava.net>
parents:
11420
diff
changeset
|
26 is left out it is equivalent to ``descendants(x)``. |
11382 | 27 |
28 An alternative syntax is ``x..y``. | |
29 | |
30 ``x:y`` | |
31 All changesets with revision numbers between x and y, both | |
32 inclusive. Either endpoint can be left out, they default to 0 and | |
33 tip. | |
34 | |
35 ``x and y`` | |
36 The intersection of changesets in x and y. Short form is ``x & y``. | |
37 | |
38 ``x or y`` | |
39 The union of changesets in x and y. There are two alternative short | |
40 forms: ``x | y`` and ``x + y``. | |
41 | |
42 ``x - y`` | |
43 Changesets in x but not in y. | |
14692
0be6dc3d8083
help/revsets: clean up whitespace between paragraphs
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
14098
diff
changeset
|
44 |
29030
18c1b107898e
revsets: add docs for '%' operator
Sean Farley <sean@farley.io>
parents:
28986
diff
changeset
|
45 ``x % y`` |
18c1b107898e
revsets: add docs for '%' operator
Sean Farley <sean@farley.io>
parents:
28986
diff
changeset
|
46 Changesets that are ancestors of x but not ancestors of y (i.e. ::x - ::y). |
18c1b107898e
revsets: add docs for '%' operator
Sean Farley <sean@farley.io>
parents:
28986
diff
changeset
|
47 This is shorthand notation for ``only(x, y)`` (see below). The second |
18c1b107898e
revsets: add docs for '%' operator
Sean Farley <sean@farley.io>
parents:
28986
diff
changeset
|
48 argument is optional and, if left out, is equivalent to ``only(x)``. |
18c1b107898e
revsets: add docs for '%' operator
Sean Farley <sean@farley.io>
parents:
28986
diff
changeset
|
49 |
14070
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
50 ``x^n`` |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
51 The nth parent of x, n == 0, 1, or 2. |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
52 For n == 0, x; for n == 1, the first parent of each changeset in x; |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
53 for n == 2, the second parent of changeset in x. |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
54 |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
55 ``x~n`` |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
56 The nth first ancestor of x; ``x~0`` is x; ``x~3`` is ``x^^^``. |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
57 |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
58 There is a single postfix operator: |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
59 |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
60 ``x^`` |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
61 Equivalent to ``x^1``, the first parent of each changeset in x. |
305c97670d7a
revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com>
parents:
13937
diff
changeset
|
62 |
11382 | 63 |
64 The following predicates are supported: | |
65 | |
12821
165079e564f0
revsets: generate predicate help dynamically
Patrick Mezard <pmezard@gmail.com>
parents:
12808
diff
changeset
|
66 .. predicatesmarker |
11382 | 67 |
14098
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
68 New predicates (known as "aliases") can be defined, using any combination of |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
69 existing predicates or other aliases. An alias definition looks like:: |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
70 |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
71 <alias> = <definition> |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
72 |
14693
f9c056f48018
help/revsets: revset aliases can be defined on any config file
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
14692
diff
changeset
|
73 in the ``revsetalias`` section of a Mercurial configuration file. Arguments |
28986
97811ff79647
help: avoid using "$n" parameter in revsetalias example
Yuya Nishihara <yuya@tcha.org>
parents:
23742
diff
changeset
|
74 of the form `a1`, `a2`, etc. are substituted from the alias into the |
14693
f9c056f48018
help/revsets: revset aliases can be defined on any config file
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
14692
diff
changeset
|
75 definition. |
14098
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
76 |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
77 For example, |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
78 |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
79 :: |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
80 |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
81 [revsetalias] |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
82 h = heads() |
28986
97811ff79647
help: avoid using "$n" parameter in revsetalias example
Yuya Nishihara <yuya@tcha.org>
parents:
23742
diff
changeset
|
83 d(s) = sort(s, date) |
97811ff79647
help: avoid using "$n" parameter in revsetalias example
Yuya Nishihara <yuya@tcha.org>
parents:
23742
diff
changeset
|
84 rs(s, k) = reverse(sort(s, k)) |
14098
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
85 |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
86 defines three aliases, ``h``, ``d``, and ``rs``. ``rs(0:tip, author)`` is |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
87 exactly equivalent to ``reverse(sort(0:tip, author))``. |
9f5a0acb0056
revset aliases
Alexander Solovyov <alexander@solovyov.net>
parents:
14070
diff
changeset
|
88 |
23742
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
89 An infix operator ``##`` can concatenate strings and identifiers into |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
90 one string. For example:: |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
91 |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
92 [revsetalias] |
28986
97811ff79647
help: avoid using "$n" parameter in revsetalias example
Yuya Nishihara <yuya@tcha.org>
parents:
23742
diff
changeset
|
93 issue(a1) = grep(r'\bissue[ :]?' ## a1 ## r'\b|\bbug\(' ## a1 ## r'\)') |
23742
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
94 |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
95 ``issue(1234)`` is equivalent to ``grep(r'\bissue[ :]?1234\b|\bbug\(1234\)')`` |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
96 in this case. This matches against all of "issue 1234", "issue:1234", |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
97 "issue1234" and "bug(1234)". |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
98 |
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
99 All other prefix, infix and postfix operators have lower priority than |
28986
97811ff79647
help: avoid using "$n" parameter in revsetalias example
Yuya Nishihara <yuya@tcha.org>
parents:
23742
diff
changeset
|
100 ``##``. For example, ``a1 ## a2~2`` is equivalent to ``(a1 ## a2)~2``. |
23742
3a4d8a6ce432
revset: introduce new operator "##" to concatenate strings/symbols at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18469
diff
changeset
|
101 |
11382 | 102 Command line equivalents for :hg:`log`:: |
103 | |
104 -f -> ::. | |
105 -d x -> date(x) | |
106 -k x -> keyword(x) | |
107 -m -> merge() | |
108 -u x -> user(x) | |
109 -b x -> branch(x) | |
110 -P x -> !::x | |
111 -l x -> limit(expr, x) | |
112 | |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
113 Some sample queries: |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
114 |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
115 - Changesets on the default branch:: |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
116 |
12808
74f6531581e8
help: use Windows cmd compatible quoting in revset help
Mads Kiilerich <mads@kiilerich.com>
parents:
12716
diff
changeset
|
117 hg log -r "branch(default)" |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
118 |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
119 - Changesets on the default branch since tag 1.5 (excluding merges):: |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
120 |
12808
74f6531581e8
help: use Windows cmd compatible quoting in revset help
Mads Kiilerich <mads@kiilerich.com>
parents:
12716
diff
changeset
|
121 hg log -r "branch(default) and 1.5:: and not merge()" |
11382 | 122 |
12660
6ed5ae6264c2
revsets: add a sample query to the help for getting active branches
Brodie Rao <brodie@bitheap.org>
parents:
12659
diff
changeset
|
123 - Open branch heads:: |
6ed5ae6264c2
revsets: add a sample query to the help for getting active branches
Brodie Rao <brodie@bitheap.org>
parents:
12659
diff
changeset
|
124 |
12808
74f6531581e8
help: use Windows cmd compatible quoting in revset help
Mads Kiilerich <mads@kiilerich.com>
parents:
12716
diff
changeset
|
125 hg log -r "head() and not closed()" |
12660
6ed5ae6264c2
revsets: add a sample query to the help for getting active branches
Brodie Rao <brodie@bitheap.org>
parents:
12659
diff
changeset
|
126 |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
127 - Changesets between tags 1.3 and 1.5 mentioning "bug" that affect |
12667
f5735bb80d77
revsets: fix stray * in help topic
Martin Geisler <mg@lazybytes.net>
parents:
12660
diff
changeset
|
128 ``hgext/*``:: |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
129 |
12808
74f6531581e8
help: use Windows cmd compatible quoting in revset help
Mads Kiilerich <mads@kiilerich.com>
parents:
12716
diff
changeset
|
130 hg log -r "1.3::1.5 and keyword(bug) and file('hgext/*')" |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
131 |
13937
5f126c01ebfa
help/revset: fix grammar
Idan Kamara <idankk86@gmail.com>
parents:
12821
diff
changeset
|
132 - Changesets committed in May 2008, sorted by user:: |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
133 |
12808
74f6531581e8
help: use Windows cmd compatible quoting in revset help
Mads Kiilerich <mads@kiilerich.com>
parents:
12716
diff
changeset
|
134 hg log -r "sort(date('May 2008'), user)" |
12659
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
135 |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
136 - Changesets mentioning "bug" or "issue" that are not in a tagged |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
137 release:: |
5aa5cbaf6efc
revsets: add descriptions for sample queries in the help
Brodie Rao <brodie@bitheap.org>
parents:
12657
diff
changeset
|
138 |
18469
ddbe689af784
doc: use "tag" revset predicate instead of "tagged" for example in help
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
15962
diff
changeset
|
139 hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())" |