Mercurial > hg
view mercurial/help/patterns.txt @ 23196:daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
To prepare for using generate-working-copy-states.py for generating
the files and their content, let's start by renaming the files
according to the naming scheme used by that script.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 20 Oct 2014 23:56:55 -0700 |
parents | f1a3ae7c15df |
children | 7072b91ccd20 |
line wrap: on
line source
Mercurial accepts several notations for identifying one or more files at a time. By default, Mercurial treats filenames as shell-style extended glob patterns. Alternate pattern notations must be specified explicitly. .. note:: Patterns specified in ``.hgignore`` are not rooted. Please see :hg:`help hgignore` for details. To use a plain path name without any pattern matching, start it with ``path:``. These path names must completely match starting at the current repository root. 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``. The supported glob syntax extensions are ``**`` to match any string across path separators and ``{a,b}`` to mean "a or b". To use a Perl/Python regular expression, start a name with ``re:``. Regexp pattern matching is anchored at the root of the repository. 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. All patterns, except for ``glob:`` specified in command line (not for ``-I`` or ``-X`` options), can match also against directories: files under matched directories are treated as matched. Plain examples:: 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" Glob examples:: 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. 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. Regexp examples:: re:.*\.c$ any name ending in ".c", anywhere in the repository 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 See also :hg:`help filesets`.