Man Linux: Main Page and Category List


       hgignore - syntax for Mercurial ignore files


       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.


       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 created 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. Mercurial 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 hgrc(5) man page  for  details
       of  how  to  configure  these files. Look for the "ignore" entry in the
       "ui" section.

       To control Mercurial's handling of files that it manages, see the hg(1)
       man page. Look for the -I and -X options.


       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:


              Regular expression, Python/Perl syntax.


              Shell-style glob.

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


       Here is an example ignore file.

       # use glob syntax.
       syntax: glob


       # switch to regexp syntax.
       syntax: regexp


       Vadim Gelfer <>

       Mercurial was written by Matt Mackall <>.


       hg(1), hgrc(5)


       This  manual  page  is  copyright  2006  Vadim  Gelfer.   Mercurial  is
       copyright 2005-2010 Matt Mackall.  Free use of this software is granted
       under  the  terms  of  the  GNU General Public License version 2 or any
       later version.


       Vadim Gelfer <>

       Organization: Mercurial