# HG changeset patch # User Martin Geisler # Date 1247672687 -7200 # Node ID 63cfacb7917e3708be169fa6b8ac1031780dc3dc # Parent 78b81646a2e4ae31e5c814b00be7cedf427a9c63# Parent 335f749cc36915b80ba1397cd9d11f7605f5d50c merge with crew-stable diff -r 78b81646a2e4 -r 63cfacb7917e doc/gendoc.py --- a/doc/gendoc.py Tue Jul 14 18:00:37 2009 -0700 +++ b/doc/gendoc.py Wed Jul 15 17:44:47 2009 +0200 @@ -1,6 +1,8 @@ -import sys, textwrap +import os, sys, textwrap # import from the live mercurial repo sys.path.insert(0, "..") +# fall back to pure modules if required C extensions are not available +sys.path.append(os.path.join('..', 'mercurial', 'pure')) from mercurial import demandimport; demandimport.enable() from mercurial.commands import table, globalopts from mercurial.i18n import gettext, _ diff -r 78b81646a2e4 -r 63cfacb7917e doc/hgignore.5.txt --- a/doc/hgignore.5.txt Tue Jul 14 18:00:37 2009 -0700 +++ b/doc/hgignore.5.txt Wed Jul 15 17:44:47 2009 +0200 @@ -12,22 +12,28 @@ -------- 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. +directory of a repository to control its behavior when it searches +for files that it is not currently tracking. DESCRIPTION ----------- -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" options. +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`. -In addition, a Mercurial configuration file can point to a set of +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 ------ diff -r 78b81646a2e4 -r 63cfacb7917e mercurial/commands.py --- a/mercurial/commands.py Tue Jul 14 18:00:37 2009 -0700 +++ b/mercurial/commands.py Wed Jul 15 17:44:47 2009 +0200 @@ -1473,7 +1473,10 @@ f = f.lstrip("^") if not ui.debugflag and f.startswith("debug"): continue - doc = gettext(e[0].__doc__) + doc = e[0].__doc__ + if doc and 'DEPRECATED' in doc and not ui.verbose: + continue + doc = gettext(doc) if not doc: doc = _("(no help text available)") h[f] = doc.splitlines()[0].rstrip() diff -r 78b81646a2e4 -r 63cfacb7917e setup.py --- a/setup.py Tue Jul 14 18:00:37 2009 -0700 +++ b/setup.py Wed Jul 15 17:44:47 2009 +0200 @@ -248,6 +248,8 @@ datafiles = [] for root in ('templates', 'i18n'): for dir, dirs, files in os.walk(root): + dirs[:] = [x for x in dirs if not x.startswith('.')] + files = [x for x in files if not x.startswith('.')] datafiles.append((os.path.join('mercurial', dir), [os.path.join(dir, file_) for file_ in files])) diff -r 78b81646a2e4 -r 63cfacb7917e tests/test-extension --- a/tests/test-extension Tue Jul 14 18:00:37 2009 -0700 +++ b/tests/test-extension Wed Jul 15 17:44:47 2009 +0200 @@ -73,11 +73,25 @@ "yet another debug command" pass -cmdtable = {"debugfoobar": (debugfoobar, (), "hg debugfoobar")} +def foo(ui, repo, *args, **opts): + """yet another foo command + + This command has been DEPRECATED since forever. + """ + pass + +cmdtable = { + "debugfoobar": (debugfoobar, (), "hg debugfoobar"), + "foo": (foo, (), "hg foo") +} EOF debugpath=`pwd`/debugextension.py echo "debugextension = $debugpath" >> $HGRCPATH +echo "% hg help" hg help debugextension +echo "% hg help --verbose" +hg --verbose help debugextension +echo "% hg help --debug" hg --debug help debugextension echo 'debugextension = !' >> $HGRCPATH diff -r 78b81646a2e4 -r 63cfacb7917e tests/test-extension.out --- a/tests/test-extension.out Tue Jul 14 18:00:37 2009 -0700 +++ b/tests/test-extension.out Wed Jul 15 17:44:47 2009 +0200 @@ -19,15 +19,47 @@ empty extension - empty cmdtable no commands defined +% hg help debugextension extension - only debugcommands no commands defined +% hg help --verbose +debugextension extension - only debugcommands + +list of commands: + + foo: + yet another foo command + +enabled extensions: + + debugextension only debugcommands + +global options: + -R --repository repository root directory or symbolic path name + --cwd change working directory + -y --noninteractive do not prompt, assume 'yes' for any required answers + -q --quiet suppress output + -v --verbose enable additional output + --config set/override config option + --debug enable debugging output + --debugger start debugger + --encoding set the charset encoding (default: ascii) + --encodingmode set the charset encoding mode (default: strict) + --traceback print traceback on exception + --time time how long the command takes + --profile print command execution profile + --version output version information and exit + -h --help display help and exit +% hg help --debug debugextension extension - only debugcommands list of commands: debugfoobar: yet another debug command + foo: + yet another foo command enabled extensions: