Mercurial akzeptiert verschiedene Schreibweisen zur Identifikation einer oder mehrerer Dateien gleichzeitig.

Standardmäßig behandelt Mercurial-Dateinamen wie erweiterte "Glob"-Muster der Shell (shell-style extended glob patterns).

Andere Schreibweisen von Mustern müssen explizit angegeben werden.


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, 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).

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". "rootglob:" can be used instead of "glob:" for a glob that is rooted at the root of the repository.

Die unterstützen Erweiterungen der Glob-Syntax sind "**" für Zeichenketten über Pfadtrenner hinweg und "{a,b}" in der Bedeutung "a oder b".

Zur Nutzung von regulären Ausdrücken (Perl/Python) beginne einen Namen mit "re:". Erkennung mit regulären Ausdrücken ist relativ zur Wurzel des Projektarchivs.

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.

To read a set of patterns from a file, use "include:" or "subinclude:". "include:" will use all the patterns from the given file and treat them as if they had been passed in manually. "subinclude:" will only apply the patterns against files that are under the subinclude file's directory. See 'hg help hgignore' for details on the format of these files.

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. For "-I" and "-X" options, "glob:" will match directories recursively.

Einfache Beispiele:

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


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/*          any file in directory foo
foo/**         any file in directory foo plus all its subdirectories,
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.
rootglob:*.c   any name ending in ".c" in the root of the repository

Beispiel mit regulärem Ausdruck:

re:.*\.c$     jeder Name endend mit ".c" überall im Projektarchiv


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'.

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