##// END OF EJS Templates
destutil: use cached branch information instead of query for efficiency...
destutil: use cached branch information instead of query for efficiency Before this patch, calculation of "the tipmost branch head on current branch" uses revset query "max(.::(head() and branch(BRANCH)))", but this isn't efficiency, because: - head() predicate lists up heads on all branches, but - branch() predicate eliminates heads on other branches In addition to it, without "literal:" prefix for branch name, branch(BRANCH) tries to (1) look up BRANCH in "repo.branchmap()" and (2) look up BRANCH as symbol name again, if there is no branch matching against BRANCH. The latter looking up is obviously redundant. This patch uses repo.branchheads(closed=True) to get all branch heads on specified branch instead of "head() and branch(BRANCH)" revset query part. This patch also makes catching RepoLookupError meaningless, because it is only raised by revset predicate "branch()". But "currentbranch in repo.branchmap()" can detect whether currentbranch actually exists or not. Therefore, this patch replaces try/except for RepoLookupError by if/else for "currentbranch in repo.branchmap()".

File last commit:

r19296:da16d21c stable
r28236:e333cea7 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 = !