docs/master

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