##// END OF EJS Templates
convert: apply the appropriate phases to the destination (issue4165)...
convert: apply the appropriate phases to the destination (issue4165) If the conversion doesn't change the hash, and the cset is public in the source, it should be public in the destination. (This can happen if file remapping is done that doesn't affect the initial commits.) This also propagates the secret phase from the source, regardless of the hash, because presumably the content is what is secret. Otherwise, the destination commit stays in the draft phase. Maybe any draft cset with an unchanged hash should be changed to public, because it has effectively been shared, but convert pretty strongly implies throwing away (or at least readonly archiving) the source repo. The change in the rollback output is because the name of the outer transaction is now 'convert', which seems more accurate. Unfortunately, the memctx won't indicate the hash prior to committing, so the proper phase can't be applied with the commit. The repo is already write locked in mercurial_sink.before().

File last commit:

r19296:da16d21c stable
r25571:1abfe639 default
Show More
extensions.txt
35 lines | 1.2 KiB | text/plain | TextLexer
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 = !