@@ -28,7 +28,6 @@
<File Name="patterns.txt" />
<File Name="phases.txt" />
<File Name="revisions.txt" />
- <File Name="revsets.txt" />
<File Name="scripting.txt" />
<File Name="subrepos.txt" />
<File Name="templates.txt" />
@@ -210,10 +210,8 @@
(["patterns"], _("File Name Patterns"), loaddoc('patterns')),
(['environment', 'env'], _('Environment Variables'),
loaddoc('environment')),
- (['revisions', 'revs'], _('Specifying Single Revisions'),
- loaddoc('revisions')),
- (['revsets', 'revset', 'multirevs', 'mrevs'],
- _("Specifying Revision Sets"), loaddoc('revsets')),
+ (['revisions', 'revs', 'revsets', 'revset', 'multirevs', 'mrevs'],
+ _('Specifying Revisions'), loaddoc('revisions')),
(['filesets', 'fileset'], _("Specifying File Sets"), loaddoc('filesets')),
(['diffs'], _('Diff Formats'), loaddoc('diffs')),
(['merge-tools', 'mergetools'], _('Merge Tools'), loaddoc('merge-tools')),
@@ -280,7 +278,7 @@
addtopicsymbols('filesets', '.. predicatesmarker', fileset.symbols)
addtopicsymbols('merge-tools', '.. internaltoolsmarker',
filemerge.internalsdoc)
-addtopicsymbols('revsets', '.. predicatesmarker', revset.symbols)
+addtopicsymbols('revisions', '.. predicatesmarker', revset.symbols)
addtopicsymbols('templates', '.. keywordsmarker', templatekw.keywords)
addtopicsymbols('templates', '.. filtersmarker', templatefilters.filters)
addtopicsymbols('templates', '.. functionsmarker', templater.funcs)
@@ -1,4 +1,7 @@
-Mercurial supports several ways to specify individual revisions.
+Mercurial supports several ways to specify revisions.
+
+Specifying single revisions
+===========================
A plain integer is treated as a revision number. Negative integers are
treated as sequential offsets from the tip, with -1 denoting the tip,
@@ -25,3 +28,163 @@
working directory is checked out, it is equivalent to null. If an
uncommitted merge is in progress, "." is the revision of the first
parent.
+
+Specifying multiple revisions
+=============================
+
+Mercurial supports a functional language for selecting a set of
+revisions.
+
+The language supports a number of predicates which are joined by infix
+operators. Parenthesis can be used for grouping.
+
+Identifiers such as branch names may need quoting with single or
+double quotes if they contain characters like ``-`` or if they match
+one of the predefined predicates.
+
+Special characters can be used in quoted identifiers by escaping them,
+e.g., ``\n`` is interpreted as a newline. To prevent them from being
+interpreted, strings can be prefixed with ``r``, e.g. ``r'...'``.
+
+Operators
+=========
+
+There is a single prefix operator:
+
+``not x``
+ Changesets not in x. Short form is ``! x``.
+
+These are the supported infix operators:
+
+``x::y``
+ A DAG range, meaning all changesets that are descendants of x and
+ ancestors of y, including x and y themselves. If the first endpoint
+ is left out, this is equivalent to ``ancestors(y)``, if the second
+ is left out it is equivalent to ``descendants(x)``.
+
+ An alternative syntax is ``x..y``.
+
+``x:y``
+ All changesets with revision numbers between x and y, both
+ inclusive. Either endpoint can be left out, they default to 0 and
+ tip.
+
+``x and y``
+ The intersection of changesets in x and y. Short form is ``x & y``.
+
+``x or y``
+ The union of changesets in x and y. There are two alternative short
+ forms: ``x | y`` and ``x + y``.
+
+``x - y``
+ Changesets in x but not in y.
+
+``x % y``
+ Changesets that are ancestors of x but not ancestors of y (i.e. ::x - ::y).
+ This is shorthand notation for ``only(x, y)`` (see below). The second
+ argument is optional and, if left out, is equivalent to ``only(x)``.
+
+``x^n``
+ The nth parent of x, n == 0, 1, or 2.
+ For n == 0, x; for n == 1, the first parent of each changeset in x;
+ for n == 2, the second parent of changeset in x.
+
+``x~n``
+ The nth first ancestor of x; ``x~0`` is x; ``x~3`` is ``x^^^``.
+
+``x ## y``
+ Concatenate strings and identifiers into one string.
+
+ All other prefix, infix and postfix operators have lower priority than
+ ``##``. For example, ``a1 ## a2~2`` is equivalent to ``(a1 ## a2)~2``.
+
+ For example::
+
+ [revsetalias]
+ issue(a1) = grep(r'\bissue[ :]?' ## a1 ## r'\b|\bbug\(' ## a1 ## r'\)')
+
+ ``issue(1234)`` is equivalent to
+ ``grep(r'\bissue[ :]?1234\b|\bbug\(1234\)')``
+ in this case. This matches against all of "issue 1234", "issue:1234",
+ "issue1234" and "bug(1234)".
+
+There is a single postfix operator:
+
+``x^``
+ Equivalent to ``x^1``, the first parent of each changeset in x.
+
+Predicates
+==========
+
+The following predicates are supported:
+
+.. predicatesmarker
+
+Aliases
+=======
+
+New predicates (known as "aliases") can be defined, using any combination of
+existing predicates or other aliases. An alias definition looks like::
+
+ <alias> = <definition>
+
+in the ``revsetalias`` section of a Mercurial configuration file. Arguments
+of the form `a1`, `a2`, etc. are substituted from the alias into the
+definition.
+
+For example,
+
+::
+
+ [revsetalias]
+ h = heads()
+ d(s) = sort(s, date)
+ rs(s, k) = reverse(sort(s, k))
+
+defines three aliases, ``h``, ``d``, and ``rs``. ``rs(0:tip, author)`` is
+exactly equivalent to ``reverse(sort(0:tip, author))``.
+
+Equivalents
+===========
+
+Command line equivalents for :hg:`log`::
+
+ -f -> ::.
+ -d x -> date(x)
+ -k x -> keyword(x)
+ -m -> merge()
+ -u x -> user(x)
+ -b x -> branch(x)
+ -P x -> !::x
+ -l x -> limit(expr, x)
+
+Examples
+========
+
+Some sample queries:
+
+- Changesets on the default branch::
+
+ hg log -r "branch(default)"
+
+- Changesets on the default branch since tag 1.5 (excluding merges)::
+
+ hg log -r "branch(default) and 1.5:: and not merge()"
+
+- Open branch heads::
+
+ hg log -r "head() and not closed()"
+
+- Changesets between tags 1.3 and 1.5 mentioning "bug" that affect
+ ``hgext/*``::
+
+ hg log -r "1.3::1.5 and keyword(bug) and file('hgext/*')"
+
+- Changesets committed in May 2008, sorted by user::
+
+ hg log -r "sort(date('May 2008'), user)"
+
+- Changesets mentioning "bug" or "issue" that are not in a tagged
+ release::
+
+ hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())"
@@ -1,156 +0,0 @@
-Mercurial supports a functional language for selecting a set of
-revisions.
-
-The language supports a number of predicates which are joined by infix
-operators. Parenthesis can be used for grouping.
-
-Identifiers such as branch names may need quoting with single or
-double quotes if they contain characters like ``-`` or if they match
-one of the predefined predicates.
-
-Special characters can be used in quoted identifiers by escaping them,
-e.g., ``\n`` is interpreted as a newline. To prevent them from being
-interpreted, strings can be prefixed with ``r``, e.g. ``r'...'``.
-
-Operators
-=========
-
-There is a single prefix operator:
-
-``not x``
- Changesets not in x. Short form is ``! x``.
-
-These are the supported infix operators:
-
-``x::y``
- A DAG range, meaning all changesets that are descendants of x and
- ancestors of y, including x and y themselves. If the first endpoint
- is left out, this is equivalent to ``ancestors(y)``, if the second
- is left out it is equivalent to ``descendants(x)``.
-
- An alternative syntax is ``x..y``.
-
-``x:y``
- All changesets with revision numbers between x and y, both
- inclusive. Either endpoint can be left out, they default to 0 and
- tip.
-
-``x and y``
- The intersection of changesets in x and y. Short form is ``x & y``.
-
-``x or y``
- The union of changesets in x and y. There are two alternative short
- forms: ``x | y`` and ``x + y``.
-
-``x - y``
- Changesets in x but not in y.
-
-``x % y``
- Changesets that are ancestors of x but not ancestors of y (i.e. ::x - ::y).
- This is shorthand notation for ``only(x, y)`` (see below). The second
- argument is optional and, if left out, is equivalent to ``only(x)``.
-
-``x^n``
- The nth parent of x, n == 0, 1, or 2.
- For n == 0, x; for n == 1, the first parent of each changeset in x;
- for n == 2, the second parent of changeset in x.
-
-``x~n``
- The nth first ancestor of x; ``x~0`` is x; ``x~3`` is ``x^^^``.
-
-``x ## y``
- Concatenate strings and identifiers into one string.
-
- All other prefix, infix and postfix operators have lower priority than
- ``##``. For example, ``a1 ## a2~2`` is equivalent to ``(a1 ## a2)~2``.
-
- For example::
-
- [revsetalias]
- issue(a1) = grep(r'\bissue[ :]?' ## a1 ## r'\b|\bbug\(' ## a1 ## r'\)')
-
- ``issue(1234)`` is equivalent to
- ``grep(r'\bissue[ :]?1234\b|\bbug\(1234\)')``
- in this case. This matches against all of "issue 1234", "issue:1234",
- "issue1234" and "bug(1234)".
-
-There is a single postfix operator:
-
-``x^``
- Equivalent to ``x^1``, the first parent of each changeset in x.
-
-Predicates
-==========
-
-The following predicates are supported:
-
-.. predicatesmarker
-
-Aliases
-=======
-
-New predicates (known as "aliases") can be defined, using any combination of
-existing predicates or other aliases. An alias definition looks like::
-
- <alias> = <definition>
-
-in the ``revsetalias`` section of a Mercurial configuration file. Arguments
-of the form `a1`, `a2`, etc. are substituted from the alias into the
-definition.
-
-For example,
-
-::
-
- [revsetalias]
- h = heads()
- d(s) = sort(s, date)
- rs(s, k) = reverse(sort(s, k))
-
-defines three aliases, ``h``, ``d``, and ``rs``. ``rs(0:tip, author)`` is
-exactly equivalent to ``reverse(sort(0:tip, author))``.
-
-Equivalents
-===========
-
-Command line equivalents for :hg:`log`::
-
- -f -> ::.
- -d x -> date(x)
- -k x -> keyword(x)
- -m -> merge()
- -u x -> user(x)
- -b x -> branch(x)
- -P x -> !::x
- -l x -> limit(expr, x)
-
-Examples
-========
-
-Some sample queries:
-
-- Changesets on the default branch::
-
- hg log -r "branch(default)"
-
-- Changesets on the default branch since tag 1.5 (excluding merges)::
-
- hg log -r "branch(default) and 1.5:: and not merge()"
-
-- Open branch heads::
-
- hg log -r "head() and not closed()"
-
-- Changesets between tags 1.3 and 1.5 mentioning "bug" that affect
- ``hgext/*``::
-
- hg log -r "1.3::1.5 and keyword(bug) and file('hgext/*')"
-
-- Changesets committed in May 2008, sorted by user::
-
- hg log -r "sort(date('May 2008'), user)"
-
-- Changesets mentioning "bug" or "issue" that are not in a tagged
- release::
-
- hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())"
@@ -353,8 +353,7 @@
merge-tools Merge Tools
patterns File Name Patterns
phases Working with Phases
- revisions Specifying Single Revisions
- revsets Specifying Revision Sets
+ revisions Specifying Revisions
scripting Using Mercurial from scripts and automation
subrepos Subrepositories
templating Template Usage
@@ -435,8 +434,7 @@
merge-tools Merge Tools
patterns File Name Patterns
phases Working with Phases
- revisions Specifying Single Revisions
- revsets Specifying Revision Sets
+ revisions Specifying Revisions
scripting Using Mercurial from scripts and automation
subrepos Subrepositories
templating Template Usage
@@ -115,8 +115,7 @@
merge-tools Merge Tools
patterns File Name Patterns
phases Working with Phases
- revisions Specifying Single Revisions
- revsets Specifying Revision Sets
+ revisions Specifying Revisions
scripting Using Mercurial from scripts and automation
subrepos Subrepositories
templating Template Usage
@@ -191,8 +190,7 @@
merge-tools Merge Tools
patterns File Name Patterns
phases Working with Phases
- revisions Specifying Single Revisions
- revsets Specifying Revision Sets
+ revisions Specifying Revisions
scripting Using Mercurial from scripts and automation
subrepos Subrepositories
templating Template Usage
@@ -831,8 +829,7 @@
merge-tools Merge Tools
patterns File Name Patterns
phases Working with Phases
- revisions Specifying Single Revisions
- revsets Specifying Revision Sets
+ revisions Specifying Revisions
scripting Using Mercurial from scripts and automation
subrepos Subrepositories
templating Template Usage
@@ -1287,7 +1284,7 @@
> return doc + '\nhelphook1\n'
>
> def extsetup(ui):
- > help.addtopichook('revsets', rewrite)
+ > help.addtopichook('revisions', rewrite)
> EOF
$ cat > helphook2.py <<EOF
> from mercurial import help
@@ -1296,7 +1293,7 @@
> return doc + '\nhelphook2\n'
>
> def extsetup(ui):
- > help.addtopichook('revsets', rewrite)
+ > help.addtopichook('revisions', rewrite)
> EOF
$ echo '[extensions]' >> $HGRCPATH
$ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
@@ -1933,14 +1930,7 @@
revisions
</a>
</td><td>
- Specifying Single Revisions
- </td></tr>
- <tr><td>
- <a href="/help/revsets">
- revsets
- </a>
- </td><td>
- Specifying Revision Sets
+ Specifying Revisions
</td></tr>
<tr><td>
<a href="/help/scripting">
@@ -1601,14 +1601,10 @@
"topic": "phases"
},
{
- "summary": "Specifying Single Revisions",
+ "summary": "Specifying Revisions",
"topic": "revisions"
},
{
- "summary": "Specifying Revision Sets",
- "topic": "revsets"
- },
- {
"summary": "Using Mercurial from scripts and automation",
"topic": "scripting"
},