Mercurial > hg > index.fcgi > keynav-9pba
Help: patterns
File Name Patterns
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.
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".