doc/hgignore.5.txt
author Martin Geisler <mg@lazybytes.net>
Thu, 16 Jul 2009 23:25:26 +0200
changeset 9162 2399362b3bb0
parent 9161 e8b653a4b8da
child 9193 52de439b8d99
permissions -rw-r--r--
doc: link man pages to one another

==========
 hgignore
==========

---------------------------------
syntax for Mercurial ignore files
---------------------------------

:Author:         Vadim Gelfer <vadim.gelfer@gmail.com>
:Organization:   Mercurial
:Manual section: 5
:Manual group:   Mercurial Manual

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

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

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.

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

EXAMPLE
-------

Here is an example ignore file. ::

  # use glob syntax.
  syntax: glob

  *.elc
  *.pyc
  *~

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

AUTHOR
------
Vadim Gelfer <vadim.gelfer@gmail.com>

Mercurial was written by Matt Mackall <mpm@selenic.com>.

SEE ALSO
--------
|hg(1)|_, |hgrc(5)|_

COPYING
-------
This manual page is copyright 2006 Vadim Gelfer.
Mercurial is copyright 2005-2009 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License (GPL).

.. include:: common.txt