Mercurial > hg
annotate mercurial/help/revsets.txt @ 12482:2f8740c639e4
tests: unify test-pull-pull-corruption2
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 26 Sep 2010 13:44:49 -0500 |
parents | 78a97859b90d |
children | 7de9033167f3 |
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 | |
7 Identifiers such as branch names must be quoted with single or double | |
11420
a99ef3711890
revset: improve help on strings
Matt Mackall <mpm@selenic.com>
parents:
11382
diff
changeset
|
8 quotes if they contain characters outside of |
a99ef3711890
revset: improve help on strings
Matt Mackall <mpm@selenic.com>
parents:
11382
diff
changeset
|
9 ``[._a-zA-Z0-9\x80-\xff]`` or if they match one of the predefined |
12408
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
10 predicates. |
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
11 |
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
12 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
|
13 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
|
14 interpreted, strings can be prefixed with ``r``, e.g. ``r'...'``. |
11382 | 15 |
16 There is a single prefix operator: | |
17 | |
18 ``not x`` | |
19 Changesets not in x. Short form is ``! x``. | |
20 | |
21 These are the supported infix operators: | |
22 | |
23 ``x::y`` | |
24 A DAG range, meaning all changesets that are descendants of x and | |
25 ancestors of y, including x and y themselves. If the first endpoint | |
26 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
|
27 is left out it is equivalent to ``descendants(x)``. |
11382 | 28 |
29 An alternative syntax is ``x..y``. | |
30 | |
31 ``x:y`` | |
32 All changesets with revision numbers between x and y, both | |
33 inclusive. Either endpoint can be left out, they default to 0 and | |
34 tip. | |
35 | |
36 ``x and y`` | |
37 The intersection of changesets in x and y. Short form is ``x & y``. | |
38 | |
39 ``x or y`` | |
40 The union of changesets in x and y. There are two alternative short | |
41 forms: ``x | y`` and ``x + y``. | |
42 | |
43 ``x - y`` | |
44 Changesets in x but not in y. | |
45 | |
46 The following predicates are supported: | |
47 | |
48 ``adds(pattern)`` | |
49 Changesets that add a file matching pattern. | |
50 | |
51 ``all()`` | |
52 All changesets, the same as ``0:tip``. | |
53 | |
54 ``ancestor(single, single)`` | |
55 Greatest common ancestor of the two changesets. | |
56 | |
57 ``ancestors(set)`` | |
58 Changesets that are ancestors of a changeset in set. | |
59 | |
60 ``author(string)`` | |
61 Alias for ``user(string)``. | |
62 | |
63 ``branch(set)`` | |
11684
39bac1821b12
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com>
parents:
11450
diff
changeset
|
64 All changesets belonging to the branches of changesets in set. |
11382 | 65 |
66 ``children(set)`` | |
67 Child changesets of changesets in set. | |
68 | |
69 ``closed()`` | |
70 Changeset is closed. | |
71 | |
72 ``contains(pattern)`` | |
73 Revision contains pattern. | |
74 | |
75 ``date(interval)`` | |
76 Changesets within the interval, see :hg:`help dates`. | |
77 | |
78 ``descendants(set)`` | |
11684
39bac1821b12
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com>
parents:
11450
diff
changeset
|
79 Changesets which are descendants of changesets in set. |
11382 | 80 |
81 ``file(pattern)`` | |
11684
39bac1821b12
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com>
parents:
11450
diff
changeset
|
82 Changesets affecting files matched by pattern. |
11382 | 83 |
84 ``follow()`` | |
85 An alias for ``::.`` (ancestors of the working copy's first parent). | |
86 | |
87 ``grep(regex)`` | |
12408
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
88 Like ``keyword(string)`` but accepts a regex. Use ``grep(r'...')`` |
78a97859b90d
revset: support raw string literals
Brodie Rao <brodie@bitheap.org>
parents:
11944
diff
changeset
|
89 to ensure special escape characters are handled correctly. |
11382 | 90 |
91 ``head()`` | |
92 Changeset is a head. | |
93 | |
94 ``heads(set)`` | |
95 Members of set with no children in set. | |
96 | |
97 ``keyword(string)`` | |
98 Search commit message, user name, and names of changed files for | |
99 string. | |
100 | |
101 ``limit(set, n)`` | |
102 First n members of set. | |
103 | |
104 ``max(set)`` | |
105 Changeset with highest revision number in set. | |
106 | |
11708
ba65d61f3158
revset: add min function
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11684
diff
changeset
|
107 ``min(set)`` |
ba65d61f3158
revset: add min function
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11684
diff
changeset
|
108 Changeset with lowest revision number in set. |
ba65d61f3158
revset: add min function
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11684
diff
changeset
|
109 |
11382 | 110 ``merge()`` |
111 Changeset is a merge changeset. | |
112 | |
113 ``modifies(pattern)`` | |
11684
39bac1821b12
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com>
parents:
11450
diff
changeset
|
114 Changesets modifying files matched by pattern. |
11382 | 115 |
116 ``outgoing([path])`` | |
11684
39bac1821b12
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com>
parents:
11450
diff
changeset
|
117 Changesets not found in the specified destination repository, or the |
39bac1821b12
revsets.txt: minor improvements
Patrick Mezard <pmezard@gmail.com>
parents:
11450
diff
changeset
|
118 default push location. |
11382 | 119 |
120 ``p1(set)`` | |
121 First parent of changesets in set. | |
122 | |
123 ``p2(set)`` | |
124 Second parent of changesets in set. | |
125 | |
126 ``parents(set)`` | |
127 The set of all parents for all changesets in set. | |
128 | |
11944
df52ff0980fe
revset: predicate to avoid lookup errors
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11708
diff
changeset
|
129 ``present(set)`` |
df52ff0980fe
revset: predicate to avoid lookup errors
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11708
diff
changeset
|
130 An empty set, if any revision in set isn't found; otherwise, |
df52ff0980fe
revset: predicate to avoid lookup errors
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11708
diff
changeset
|
131 all revisions in set. |
df52ff0980fe
revset: predicate to avoid lookup errors
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
11708
diff
changeset
|
132 |
11382 | 133 ``removes(pattern)`` |
134 Changesets which remove files matching pattern. | |
135 | |
136 ``reverse(set)`` | |
137 Reverse order of set. | |
138 | |
139 ``roots(set)`` | |
140 Changesets with no parent changeset in set. | |
141 | |
142 ``sort(set[, [-]key...])`` | |
143 Sort set by keys. The default sort order is ascending, specify a key | |
144 as ``-key`` to sort in descending order. | |
145 | |
146 The keys can be: | |
147 | |
148 - ``rev`` for the revision number, | |
149 - ``branch`` for the branch name, | |
150 - ``desc`` for the commit message (description), | |
151 - ``user`` for user name (``author`` can be used as an alias), | |
152 - ``date`` for the commit date | |
153 | |
154 ``tagged()`` | |
155 Changeset is tagged. | |
156 | |
157 ``user(string)`` | |
158 User name is string. | |
159 | |
160 Command line equivalents for :hg:`log`:: | |
161 | |
162 -f -> ::. | |
163 -d x -> date(x) | |
164 -k x -> keyword(x) | |
165 -m -> merge() | |
166 -u x -> user(x) | |
167 -b x -> branch(x) | |
168 -P x -> !::x | |
169 -l x -> limit(expr, x) | |
170 | |
171 Some sample queries:: | |
172 | |
173 hg log -r 'branch(default)' | |
174 hg log -r 'branch(default) and 1.5:: and not merge()' | |
175 hg log -r '1.3::1.5 and keyword(bug) and file("hgext/*")' | |
176 hg log -r 'sort(date("May 2008"), user)' | |
177 hg log -r '(keyword(bug) or keyword(issue)) and not ancestors(tagged())' |