2009-10-04 14:18:43 +04:00
|
|
|
Mercurial accepts several notations for identifying one or more files
|
|
|
|
at a time.
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
By default, Mercurial treats filenames as shell-style extended glob
|
|
|
|
patterns.
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
Alternate pattern notations must be specified explicitly.
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2012-04-22 19:38:22 +04:00
|
|
|
.. note::
|
2014-02-19 16:25:28 +04:00
|
|
|
|
2019-03-21 08:26:03 +03:00
|
|
|
Patterns specified in ``.gitignore`` are not rooted. And is different
|
|
|
|
from patterns used by **hg** in other places.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
In the future, patterns might be reworked to be more consistent with
|
|
|
|
``.gitignore``. For example, negative patterns are possible and patterns
|
|
|
|
are orders. Things listed below might change significantly.
|
2012-04-22 19:38:22 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
To use a plain path name without any pattern matching, start it with
|
2009-10-21 00:43:17 +04:00
|
|
|
``path:``. These path names must completely match starting at the
|
2017-02-14 02:39:29 +03:00
|
|
|
current repository root, and when the path points to a directory, it is matched
|
|
|
|
recursively. To match all files in a directory non-recursively (not including
|
|
|
|
any files in subdirectories), ``rootfilesin:`` can be used, specifying an
|
|
|
|
absolute path (relative to the repository root).
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-21 00:43:17 +04:00
|
|
|
To use an extended glob, start a name with ``glob:``. Globs are rooted
|
|
|
|
at the current directory; a glob such as ``*.c`` will only match files
|
|
|
|
in the current directory ending with ``.c``.
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-21 00:43:17 +04:00
|
|
|
The supported glob syntax extensions are ``**`` to match any string
|
|
|
|
across path separators and ``{a,b}`` to mean "a or b".
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-21 00:43:17 +04:00
|
|
|
To use a Perl/Python regular expression, start a name with ``re:``.
|
2009-10-04 14:18:43 +04:00
|
|
|
Regexp pattern matching is anchored at the root of the repository.
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2010-12-24 00:12:24 +03:00
|
|
|
To read name patterns from a file, use ``listfile:`` or ``listfile0:``.
|
|
|
|
The latter expects null delimited patterns while the former expects line
|
|
|
|
feeds. Each string read from the file is itself treated as a file
|
|
|
|
pattern.
|
|
|
|
|
2014-01-17 18:55:11 +04:00
|
|
|
All patterns, except for ``glob:`` specified in command line (not for
|
2014-01-30 10:03:36 +04:00
|
|
|
``-I`` or ``-X`` options), can match also against directories: files
|
|
|
|
under matched directories are treated as matched.
|
2017-02-14 02:39:29 +03:00
|
|
|
For ``-I`` and ``-X`` options, ``glob:`` will match directories recursively.
|
2014-01-17 18:55:11 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
Plain examples::
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2017-02-14 02:39:29 +03:00
|
|
|
path:foo/bar a name bar in a directory named foo in the root
|
|
|
|
of the repository
|
|
|
|
path:path:name a file or directory named "path:name"
|
|
|
|
rootfilesin:foo/bar the files in a directory called foo/bar, but not any files
|
|
|
|
in its subdirectories and not a file bar in directory foo
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
Glob examples::
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
glob:*.c any name ending in ".c" in the current directory
|
|
|
|
*.c any name ending in ".c" in the current directory
|
|
|
|
**.c any name ending in ".c" in any subdirectory of the
|
|
|
|
current directory including itself.
|
2017-06-12 21:24:21 +03:00
|
|
|
foo/* any file in directory foo
|
|
|
|
foo/** any file in directory foo plus all its subdirectories,
|
2017-02-14 02:39:29 +03:00
|
|
|
recursively
|
2009-10-04 14:18:43 +04:00
|
|
|
foo/*.c any name ending in ".c" in the directory foo
|
|
|
|
foo/**.c any name ending in ".c" in any subdirectory of foo
|
|
|
|
including itself.
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
Regexp examples::
|
2009-10-04 11:59:13 +04:00
|
|
|
|
2009-10-04 14:18:43 +04:00
|
|
|
re:.*\.c$ any name ending in ".c", anywhere in the repository
|
2010-12-24 00:12:24 +03:00
|
|
|
|
|
|
|
File examples::
|
|
|
|
|
|
|
|
listfile:list.txt read list from list.txt with one file pattern per line
|
|
|
|
listfile0:list.txt read list from list.txt with null byte delimiters
|
2011-06-19 01:53:49 +04:00
|
|
|
|
|
|
|
See also :hg:`help filesets`.
|
2015-05-21 00:54:09 +03:00
|
|
|
|
|
|
|
Include examples::
|
|
|
|
|
|
|
|
include:path/to/mypatternfile reads patterns to be applied to all paths
|
|
|
|
subinclude:path/to/subignorefile reads patterns specifically for paths in the
|
|
|
|
subdirectory
|