phpman > man > hgignore(5)

Markdown | JSON | MCP    

HGIGNORE(5)                               Mercurial Manual                               HGIGNORE(5)



NAME
       hgignore - syntax for Mercurial ignore files

SYNOPSIS
       The  Mercurial  system  uses a file called .hgignore in the root directory of a repository to
       control its behavior when it searches for files that it is not currently tracking.

DESCRIPTION
       The working directory of a Mercurial repository will often contain files that should  not  be
       tracked  by  Mercurial. These include backup files created by editors and build products cre‐
       ated by compilers.  These files can be ignored by listing them in a  .hgignore  file  in  the
       root  of  the working directory. The .hgignore file must be created manually. It is typically
       put under version control, so that the settings will propagate  to  other  repositories  with
       push and pull.

       An  untracked  file  is ignored if its path relative to the repository root directory, or any
       prefix path of that path, is matched against any pattern in .hgignore.

       For example, say we have an untracked file, file.c, at a/b/file.c inside our repository. Mer‐
       curial will ignore file.c if any pattern in .hgignore matches a/b/file.c, a/b or a.

       In  addition, a Mercurial configuration file can reference a set of per-user or global ignore
       files. See the ignore configuration key on the [ui] section of hg help config for details  of
       how to configure these files.

       To control Mercurial's handling of files that it manages, many commands support the -I and -X
       options; see hg help <command> and hg help patterns for details.

       Files that are already tracked are not affected by .hgignore, even if they appear  in  .hgig‐
       nore.  An untracked file X can be explicitly added with hg add X, even if X would be excluded
       by a pattern in .hgignore.

SYNTAX
       An ignore file is a plain text file consisting of a list of patterns, with  one  pattern  per
       line.  Empty  lines are skipped. The # character is treated as a comment character, and the \
       character is treated as an escape character.

       Mercurial supports several pattern syntaxes. The default  syntax  used  is  Python/Perl-style
       regular expressions.

       To change the syntax used, use a line of the following form:

       syntax: NAME

       where NAME is one of the following:

       regexp

              Regular expression, Python/Perl syntax.

       glob

              Shell-style glob.

       rootglob

              A variant of glob that is rooted (see below).

       The chosen syntax stays in effect when parsing all patterns that follow, until another syntax
       is selected.

       Neither glob nor regexp patterns are rooted. A glob-syntax pattern of the form *.c will match
       a file ending in .c in any directory, and a regexp pattern of the form \.c$ will do the same.
       To root a regexp pattern, start it with ^. To get the same effect with glob-syntax, you  have
       to use rootglob.

       Subdirectories  can  have  their  own  .hgignore  settings  by adding subinclude:path/to/sub‐‐
       dir/.hgignore to the root .hgignore. See hg help patterns for details on subinclude: and  in‐‐
       clude:.

       Note   Patterns specified in other than .hgignore are always rooted.  Please see hg help pat‐‐
              terns for details.

EXAMPLE
       Here is an example ignore file.

       # use glob syntax.
       syntax: glob

       *.elc
       *.pyc
       *~

       # switch to regexp syntax.
       syntax: regexp
       ^\.pc/

DEBUGGING
       Use the debugignore command to see if and why a file is ignored, or to see the  combined  ig‐
       nore pattern. See hg help debugignore for details.

AUTHOR
       Vadim Gelfer <vadim.gelfer AT gmail.com>

       Mercurial was written by Olivia Mackall <olivia AT selenic.com>.

SEE ALSO
       hg(1), hgrc(5)

COPYING
       This  manual  page  is  copyright 2006 Vadim Gelfer.  Mercurial is copyright 2005-2022 Olivia
       Mackall.  Free use of this software is granted under the terms of the GNU General Public  Li‐
       cense version 2 or any later version.

AUTHOR
       Vadim Gelfer <vadim.gelfer AT gmail.com>

       Organization: Mercurial




                                                                                         HGIGNORE(5)
hgignore(5)
NAME SYNOPSIS DESCRIPTION SYNTAX
regexp glob rootglob
EXAMPLE DEBUGGING AUTHOR SEE ALSO COPYING AUTHOR

Generated by phpman local Author: Che Dong Under GNU General Public License
2026-06-15 06:34 @216.73.216.200
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top