mercurial/help/filesets.txt
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 11 Jan 2017 11:37:38 -0800
changeset 30769 e520f0f4b1cf
parent 30731 b8a188a6f191
child 31203 4140d49d2efb
permissions -rw-r--r--
help: merge revsets.txt into revisions.txt Selecting single and multiple revisions is closely related, so let's put it in one place, so users can easily find it. We actually did not even point to "hg help revsets" from "hg help revisions", but now that they're on a single page, that won't be necessary.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     1
Mercurial supports a functional language for selecting a set of
18960
170fc0949fb6 check-code: check txt files for trailing whitespace
Mads Kiilerich <madski@unity3d.com>
parents: 15825
diff changeset
     2
files.
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     3
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     4
Like other file patterns, this pattern type is indicated by a prefix,
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     5
'set:'. The language supports a number of predicates which are joined
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     6
by infix operators. Parenthesis can be used for grouping.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     8
Identifiers such as filenames or patterns must be quoted with single
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
or double quotes if they contain characters outside of
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
``[.*{}[]?/\_a-zA-Z0-9\x80-\xff]`` or if they match one of the
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    11
predefined predicates. This generally applies to file patterns other
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    12
than globs and arguments for predicates.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    13
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    14
Special characters can be used in quoted identifiers by escaping them,
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    15
e.g., ``\n`` is interpreted as a newline. To prevent them from being
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    16
interpreted, strings can be prefixed with ``r``, e.g. ``r'...'``.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    17
30729
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    18
See also :hg:`help patterns`.
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    19
30731
b8a188a6f191 help: merge the various operator sections of revsets, filesets and templates
Matt Harbison <matt_harbison@yahoo.com>
parents: 30729
diff changeset
    20
Operators
b8a188a6f191 help: merge the various operator sections of revsets, filesets and templates
Matt Harbison <matt_harbison@yahoo.com>
parents: 30729
diff changeset
    21
=========
30729
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    22
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    23
There is a single prefix operator:
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
``not x``
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    26
  Files not in x. Short form is ``! x``.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    27
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    28
These are the supported infix operators:
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    30
``x and y``
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    31
  The intersection of files in x and y. Short form is ``x & y``.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    33
``x or y``
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    34
  The union of files in x and y. There are two alternative short
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    35
  forms: ``x | y`` and ``x + y``.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    36
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    37
``x - y``
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    38
  Files in x but not in y.
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    39
30729
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    40
Predicates
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    41
==========
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    42
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    43
The following predicates are supported:
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    44
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    45
.. predicatesmarker
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    46
30729
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    47
Examples
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    48
========
a4bc8fff67fc help: apply the section headings from revsets to filesets
Matt Harbison <matt_harbison@yahoo.com>
parents: 23109
diff changeset
    49
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    50
Some sample queries:
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    51
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    52
- Show status of files that appear to be binary in the working directory::
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    53
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    54
    hg status -A "set:binary()"
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    55
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    56
- Forget files that are in .hgignore but are already tracked::
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    57
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    58
    hg forget "set:hgignore() and not ignored()"
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    59
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    60
- Find text files that contain a string::
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    61
23109
cf56f7a60b45 help: use "hg files" instead of "hg locate" in "hg help filesets"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18960
diff changeset
    62
    hg files "set:grep(magic) and not binary()"
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    63
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    64
- Find C files in a non-standard encoding::
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    65
23109
cf56f7a60b45 help: use "hg files" instead of "hg locate" in "hg help filesets"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18960
diff changeset
    66
    hg files "set:**.c and not encoding('UTF-8')"
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    67
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    68
- Revert copies of large binary files::
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    69
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    70
    hg revert "set:copied() and binary() and size('>1M')"
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    71
14829
968c301a1005 help: fileset foo.lst was named files.lst
Arne Babenhauserheide <bab@draketo.de>
parents: 14686
diff changeset
    72
- Remove files listed in foo.lst that contain the letter a or b::
14686
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    73
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    74
    hg remove "set: 'listfile:foo.lst' and (**a* or **b*)"