setup.py
author Pierre-Yves David <pierre-yves.david@fb.com>
Fri, 19 Jun 2015 14:26:33 -0700
changeset 1410 2c451fece7a6
parent 1355 5b66cff0e470
child 1451 73eb4f33f9dc
permissions -rw-r--r--
evolve: unify revision handling and rework error message This changesets do a massive refactoring of the way evolve select changesets to be evolve. We now use a two stages approach: 1) read command line argument and produce a list of revision to evolve. 2) evolve all these revisions. This allow a much cleaner, robust and extensible code. In the process the error message issued when there is nothing to evolve have been updated to informs about other troubles in the repository and point at useful option to solve them. The 'update' case is handled independently at the start of the function.

# 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://bitbucket.org/marmoute/mutable-history',
    description='Flexible evolution of Mercurial history.',
    long_description=open('README').read(),
    keywords='hg mercurial',
    license='GPLv2+',
    py_modules=py_modules
)