Mercurial > evolve
annotate setup.py @ 2653:13313d0cab71
topicmap: massive rework
Massively rework the way we build and use topicmap. This bring massive performance
benefit.
Topic map use to be a fully independant thing that we would switch on and off
globaly. The caching on disk was broken so the performance were atrocious.
Intead, now the topic are inherited from the 'immutable' map. We gave up on
storing them on disk for now since the mutable set is usually small enough.
The activation is done by hacking new "filter" on the repository and detection
when they are one. This is hacky but core is hard to wrap here.
Overall this whole wrapping is really scary and we should massage core API to
help it.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 22 Jun 2017 10:13:29 +0200 |
parents | 7d15775d8585 |
children | 3ccde4699cf0 |
rev | line source |
---|---|
1242
cf846d47bb7e
setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents:
1149
diff
changeset
|
1 import os |
1839
1bc5e62fc0c7
Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 from distutils.core import setup |
1149
a206ee74f129
evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents:
1138
diff
changeset
|
3 from os.path import dirname, join |
a206ee74f129
evolve: add various version info to save time on troubleshooting
anatoly techtonik <techtonik@gmail.com>
parents:
1138
diff
changeset
|
4 |
2049
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
5 META_PATH = 'hgext3rd/evolve/metadata.py' |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
6 |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
7 def get_metadata(): |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
8 meta = {} |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
9 fullpath = join(dirname(__file__), META_PATH) |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
10 execfile(fullpath, meta) |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
11 return meta |
496
d3d9df795b4d
[pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
12 |
2049
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
13 def get_version(): |
2020
143c8e4dc22d
topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
diff
changeset
|
14 '''Read version info from a file without importing it''' |
2049
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
15 return get_metadata()['__version__'] |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
16 |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
17 def min_hg_version(): |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
18 '''Read version info from a file without importing it''' |
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
19 return get_metadata()['minimumhgversion'] |
2020
143c8e4dc22d
topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
diff
changeset
|
20 |
1808
202ac6c94b7f
hgext3rd: move 'simple4server' as 'evolve.serveronly'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1807
diff
changeset
|
21 py_modules = [ |
202ac6c94b7f
hgext3rd: move 'simple4server' as 'evolve.serveronly'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1807
diff
changeset
|
22 ] |
1806
9f42f819267b
evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1642
diff
changeset
|
23 py_packages = [ |
9f42f819267b
evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1642
diff
changeset
|
24 'hgext3rd', |
2052
05170e635e26
setup.py: include all evolve submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2049
diff
changeset
|
25 'hgext3rd.evolve', |
2020
143c8e4dc22d
topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
diff
changeset
|
26 'hgext3rd.topic', |
1242
cf846d47bb7e
setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents:
1149
diff
changeset
|
27 ] |
cf846d47bb7e
setup: allow including inhibit in the build
Durham Goode <durham@fb.com>
parents:
1149
diff
changeset
|
28 |
1452
1bcbd14cf159
merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1451
diff
changeset
|
29 if os.environ.get('INCLUDE_INHIBIT'): |
1807
a53efee7d8b0
hgext3rd: move 'directaccess' and 'inhibit' in 'evolve.hack'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1806
diff
changeset
|
30 py_modules.append('hgext3rd.evolve.hack.inhibit') |
a53efee7d8b0
hgext3rd: move 'directaccess' and 'inhibit' in 'evolve.hack'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1806
diff
changeset
|
31 py_modules.append('hgext3rd.evolve.hack.directaccess') |
1452
1bcbd14cf159
merge back with 3.3 compat branch
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1451
diff
changeset
|
32 |
1839
1bc5e62fc0c7
Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
33 setup( |
496
d3d9df795b4d
[pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
34 name='hg-evolve', |
2049
b81d3775006b
evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2036
diff
changeset
|
35 version=get_version(), |
496
d3d9df795b4d
[pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
36 author='Pierre-Yves David', |
2069
7d15775d8585
setup: add author_email
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2067
diff
changeset
|
37 author_email='pierre-yves.david@ens-lyon.org', |
496
d3d9df795b4d
[pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
38 maintainer='Pierre-Yves David', |
916
48e68d3b0144
fix maintainer email
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
859
diff
changeset
|
39 maintainer_email='pierre-yves.david@ens-lyon.org', |
1642
fb5e479080d8
project: change evolution domain to mercurial-scm
timeless@gmail.com
parents:
1617
diff
changeset
|
40 url='https://www.mercurial-scm.org/doc/evolution/', |
496
d3d9df795b4d
[pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
41 description='Flexible evolution of Mercurial history.', |
d3d9df795b4d
[pkg] Add a setup.py
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff
changeset
|
42 long_description=open('README').read(), |
1839
1bc5e62fc0c7
Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
43 keywords='hg mercurial', |
1bc5e62fc0c7
Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
44 license='GPLv2+', |
1806
9f42f819267b
evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1642
diff
changeset
|
45 py_modules=py_modules, |
9f42f819267b
evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
1642
diff
changeset
|
46 packages=py_packages |
1839
1bc5e62fc0c7
Initial dumb version of topics.
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
47 ) |