changeset 2209:956e329f9e13

document hgignore syntax in new file doc/hgignore.5.txt. fix issue 162.
author Vadim Gelfer <>
date Thu, 04 May 2006 22:20:02 -0700
parents 12e36dedf668
children 1ec3bd7efcfe
files doc/hg.1.txt doc/hgignore.5.txt doc/hgrc.5.txt
diffstat 3 files changed, 98 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/doc/hg.1.txt	Thu May 04 21:44:09 2006 -0700
+++ b/doc/hg.1.txt	Thu May 04 22:20:02 2006 -0700
@@ -180,7 +180,7 @@
     This file contains regular expressions (one per line) that describe file
-    names that should be ignored by hg.
+    names that should be ignored by hg. For details, see hgignore(5).
     This file contains changeset hash values and text tag names (one of each
@@ -200,7 +200,7 @@
+hgignore(5), hgrc(5)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/hgignore.5.txt	Thu May 04 22:20:02 2006 -0700
@@ -0,0 +1,92 @@
+Vadim Gelfer <>
+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 finds files
+that it is not currently managing.
+Mercurial ignores every unmanaged file that matches any pattern in an
+ignore file.  The patterns in an ignore file do not apply to files
+managed by Mercurial.  To control Mercurial's handling of files that
+it manages, see the hg(1) man page.  Look for the "-I" and "-X"
+In addition, a Mercurial configuration file can point to 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.
+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
+  *.elc
+  *.pyc
+  *~
+  .*.swp
+  # switch to regexp syntax.
+  syntax: regexp
+  ^\.pc/
+Vadim Gelfer <>
+Mercurial was written by Matt Mackall <>.
+hg(1), hgrc(5)
+This manual page is copyright 2006 Vadim Gelfer.
+Mercurial is copyright 2005, 2006 Matt Mackall.
+Free use of this software is granted under the terms of the GNU General
+Public License (GPL).
--- a/doc/hgrc.5.txt	Thu May 04 21:44:09 2006 -0700
+++ b/doc/hgrc.5.txt	Thu May 04 22:20:02 2006 -0700
@@ -280,7 +280,8 @@
     the same format as a repository-wide .hgignore file. This option
     supports hook syntax, so if you want to specify multiple ignore
     files, you can do so by setting something like
-    "ignore.other = ~/.hgignore2".
+    "ignore.other = ~/.hgignore2". For details of the ignore file
+    format, see the hgignore(5) man page.
     Allow to prompt the user.  True or False.  Default is True.
@@ -358,11 +359,11 @@
+hg(1), hgignore(5)
 This manual page is copyright 2005 Bryan O'Sullivan.
-Mercurial is copyright 2005 Matt Mackall.
+Mercurial is copyright 2005, 2006 Matt Mackall.
 Free use of this software is granted under the terms of the GNU General
 Public License (GPL).