annotate mercurial/help/extensions.txt @ 27592:7c9eb2927879

dirstate: add a C implementation for nonnormalentries Before this patch, there was only a python version of nonnormalentries. On mozilla-central we have a 10x win by putting this function in C: % python -m timeit -s \ 'from mercurial import hg, ui, parsers; \ repo = hg.repository(ui.ui(), "mozilla-central"); \ m = repo.dirstate._map' \ 'parsers.nonnormalentries(m)' 100 loops, best of 3: 3.15 msec per loop The python implementation runs in 31ms, a similar test gives: 10 loops, best of 3: 31.7 msec per loop On our big repos, the win is still of 10x with the python implementation running in 350ms and the C implementation running in 30ms.
author Laurent Charignon <lcharignon@fb.com>
date Mon, 21 Dec 2015 16:27:16 -0800
parents da16d21cf4ed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9540
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
1 Mercurial has the ability to add new features through the use of
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
2 extensions. Extensions may add new commands, add options to
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
3 existing commands, change the default behavior of commands, or
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
4 implement hooks.
9539
c904e76e3834 help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
5
12083
ebfc46929f3e help: refer to user configuration file more consistently
Brodie Rao <brodie@bitheap.org>
parents: 10123
diff changeset
6 To enable the "foo" extension, either shipped with Mercurial or in the
ebfc46929f3e help: refer to user configuration file more consistently
Brodie Rao <brodie@bitheap.org>
parents: 10123
diff changeset
7 Python search path, create an entry for it in your configuration file,
ebfc46929f3e help: refer to user configuration file more consistently
Brodie Rao <brodie@bitheap.org>
parents: 10123
diff changeset
8 like this::
9539
c904e76e3834 help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
9
9540
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
10 [extensions]
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
11 foo =
9539
c904e76e3834 help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
12
9540
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
13 You may also specify the full path to an extension::
9539
c904e76e3834 help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
14
9540
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
15 [extensions]
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
16 myfeature = ~/.hgext/myfeature.py
9539
c904e76e3834 help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
17
19296
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
18 See :hg:`help config` for more information on configuration files.
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
19
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
20 Extensions are not loaded by default for a variety of reasons:
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
21 they can increase startup overhead; they may be meant for advanced
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
22 usage only; they may provide potentially dangerous abilities (such
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
23 as letting you destroy or modify history); they might not be ready
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
24 for prime time; or they may alter some usual behaviors of stock
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
25 Mercurial. It is thus up to the user to activate extensions as
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
26 needed.
da16d21cf4ed doc: make it easier to read how to enable extensions
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 12083
diff changeset
27
12083
ebfc46929f3e help: refer to user configuration file more consistently
Brodie Rao <brodie@bitheap.org>
parents: 10123
diff changeset
28 To explicitly disable an extension enabled in a configuration file of
ebfc46929f3e help: refer to user configuration file more consistently
Brodie Rao <brodie@bitheap.org>
parents: 10123
diff changeset
29 broader scope, prepend its path with !::
9539
c904e76e3834 help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
30
9540
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
31 [extensions]
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
32 # disabling extension bar residing in /path/to/extension/bar.py
10122
0ddbc0299742 extensions help: make disabling example analogous to enabling example
Christian Ebert <blacktrash@gmx.net>
parents: 9540
diff changeset
33 bar = !/path/to/extension/bar.py
9540
cad36e496640 help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents: 9539
diff changeset
34 # ditto, but no path was supplied for extension baz
10122
0ddbc0299742 extensions help: make disabling example analogous to enabling example
Christian Ebert <blacktrash@gmx.net>
parents: 9540
diff changeset
35 baz = !