##// END OF EJS Templates
hg: don't reuse repo instance after unshare()...
hg: don't reuse repo instance after unshare() Unsharing a repository is a pretty invasive procedure and fundamentally changes the behavior of the repository. Currently, hg.unshare() calls into localrepository.__init__ to re-initialize the repository instance. This is a bit hacky. And future commits that refactor how localrepository instances are constructed will make this difficult to support. This commit changes unshare() so it constructs a new repo instance once the unshare I/O has completed. It then poisons the old repo instance so any further use will result in error. Surprisingly, nothing in core appears to access a repo instance after it has been unshared! .. api:: ``hg.unshare()`` now poisons the repo instance so it can't be used. It also returns a new repo instance suitable for interacting with the unshared repository. Differential Revision: https://phab.mercurial-scm.org/D4557

File last commit:

r19296:da16d21c stable
r39642:c5e6c1ba default
Show More
extensions.txt
35 lines | 1.2 KiB | text/plain | TextLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 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.
Brodie Rao
help: refer to user configuration file more consistently...
r12083 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::
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
[extensions]
foo =
You may also specify the full path to an extension::
[extensions]
myfeature = ~/.hgext/myfeature.py
Jordi Gutiérrez Hermoso
doc: make it easier to read how to enable extensions...
r19296 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.
Brodie Rao
help: refer to user configuration file more consistently...
r12083 To explicitly disable an extension enabled in a configuration file of
broader scope, prepend its path with !::
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
[extensions]
# disabling extension bar residing in /path/to/extension/bar.py
Martin Geisler
Merge with stable
r10123 bar = !/path/to/extension/bar.py
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 # ditto, but no path was supplied for extension baz
Martin Geisler
Merge with stable
r10123 baz = !