setup.py
author Jun Wu <quark@fb.com>
Wed, 22 Jun 2016 18:22:17 +0100
changeset 1714 4565b046b850
parent 1642 fb5e479080d8
child 1806 9f42f819267b
permissions -rw-r--r--
directaccess: make sure gethashsymbols does not return rev numbers With "hg log -r 1 -r 2 -r 3", gethashsymbols will get the following tree: ('func', ('symbol', '_list'), ('string', '1\x002\x003')) Before this patch, it will return ['1', '2', '3'], which are revision numbers and causes unnecessary (expensive) partialmatch lookups. This patch refacts gethashsymbols a bit, making sure the returning values are always filtered.

# Copied from histedit setup.py
# Credit to Augie Fackler <durin42@gmail.com>

import os
from distutils.core import setup
from os.path import dirname, join

def get_version(relpath):
    '''Read version info from a file without importing it'''
    for line in open(join(dirname(__file__), relpath), 'rb'):
        # Decode to a fail-safe string for PY3
        # (gives unicode object in PY2)
        line = line.decode('utf8')
        if '__version__' in line:
          if "'" in line:
            return line.split("'")[1]

py_modules = [
    'hgext.evolve',
]

if os.environ.get('INCLUDE_INHIBIT'):
    py_modules.append('hgext.inhibit')
    py_modules.append('hgext.directaccess')

setup(
    name='hg-evolve',
    version=get_version('hgext/evolve.py'),
    author='Pierre-Yves David',
    maintainer='Pierre-Yves David',
    maintainer_email='pierre-yves.david@ens-lyon.org',
    url='https://www.mercurial-scm.org/doc/evolution/',
    description='Flexible evolution of Mercurial history.',
    long_description=open('README').read(),
    keywords='hg mercurial',
    license='GPLv2+',
    py_modules=py_modules
)