view mercurial/helptext/extensions.txt @ 45377:da3b7c80aa34

hgweb: handle None from templatedir() equally bad in webcommands.py The following paragraph is based just on my reading of the code; I have not tried to test it. Before my recent work on templates in frozen binaries, it seems both `hgwebdir_mod.py` and `webcommands.py` would pass in an empty list into `staticfile()` when running in a frozen binary. That would then result in a variable in that function (`path`) not getting bound before its first use. I then changed that without thinking in D8786 so we passed a `None` value into the function, which made it break in another way (trying to iterate over `None`). Then I tried to fix it up in D8810, but I only changed `hgwebdir_mod.py` for some reason, and it still doesn't actually work in frozen binaries (which seems fair, since was broken before my changes too). This patch just replicates the half-assed "fix" from D8810 in `webcommands.py`, so they look more similar so I can start refactoring them in the same way. Differential Revision: https://phab.mercurial-scm.org/D8933
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 03 Aug 2020 22:40:05 -0700
parents 2e017696181f
children
line wrap: on
line source

Mercurial has the ability to add new features through the use of
extensions. Extensions may add new commands, add options to
existing commands, change the default behavior of commands, or
implement hooks.

To enable the "foo" extension, either shipped with Mercurial or in the
Python search path, create an entry for it in your configuration file,
like this::

  [extensions]
  foo =

You may also specify the full path to an extension::

  [extensions]
  myfeature = ~/.hgext/myfeature.py

See :hg:`help config` for more information on configuration files.

Extensions are not loaded by default for a variety of reasons:
they can increase startup overhead; they may be meant for advanced
usage only; they may provide potentially dangerous abilities (such
as letting you destroy or modify history); they might not be ready
for prime time; or they may alter some usual behaviors of stock
Mercurial. It is thus up to the user to activate extensions as
needed.

To explicitly disable an extension enabled in a configuration file of
broader scope, prepend its path with !::

  [extensions]
  # disabling extension bar residing in /path/to/extension/bar.py
  bar = !/path/to/extension/bar.py
  # ditto, but no path was supplied for extension baz
  baz = !