# HG changeset patch # User Cédric Duval # Date 1245524150 -7200 # Node ID 37d8a5ddd4991e116686ddf6cb86db7aa4db487c # Parent cad6370a15cb2ef6cf28cc509acb58307e6545fb help: expand the extensions topic diff -r cad6370a15cb -r 37d8a5ddd499 mercurial/help.py --- a/mercurial/help.py Sat Jun 20 20:55:49 2009 +0200 +++ b/mercurial/help.py Sat Jun 20 20:55:50 2009 +0200 @@ -127,13 +127,37 @@ def topicextensions(): doc = _(r''' - Mercurial has an extension mechanism for adding new features. + Mercurial has a mechanism for adding new features through the + use of extensions. Extensions may bring new commands, or new + hooks, or change some behaviors of Mercurial. + + Extensions are not loaded by default for a variety of reasons, + they may be meant for an advanced usage or provide potentially + dangerous commands (eg. mq or rebase allow to rewrite history), + they might not be yet ready for prime-time, or they may alter + some usual behaviors of stock Mercurial. It is thus up to the + user to activate the extensions as needed. + + To enable an extension "foo" which is either shipped with + Mercurial or in the Python search path, create an entry for + it in your hgrc, like this: - To enable an extension "foo" bundled with Mercurial, create an - entry for it your hgrc, like this: - - [extensions] - foo = + [extensions] + foo = + + You may also specify the full path where an extension resides: + + [extensions] + myfeature = ~/.hgext/myfeature.py + + To explicitly disable an extension which is enabled in an hgrc + of broader scope, prepend its path with !: + + [extensions] + # disabling extension bar residing in /ext/path + hgext.bar = !/path/to/extension/bar.py + # ditto, but no path was supplied for extension baz + hgext.baz = ! ''') exts, maxlength = enabledextensions()