Mercurial > evolve
view setup.py @ 6224:17ffdea0edbb stable
evolve: look for split successors of the correct ancestor (issue6648)
Consider two changesets, 1 and 2. 1 is split into two new changesets and 2 is
pruned. If we stand on 2 and call hg evolve, _singlesuccessor() will traverse
ancestors of wdp in search of a changeset with successors to update to (it will
be 1, which was split). In case of a split, select_split_successor() gets
control. The issue is this function didn't traverse ancestors, and instead
tried to look up successors of the original changeset (i.e. 2 in our case,
which was pruned).
We can make select_split_successor() aware of _singlesuccessor() logic by using
the changeset that actually has successors without traversing ancestors again.
It's done by storing that changeset in MultipleSuccessorsError exception.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Thu, 21 Apr 2022 22:19:27 +0400 |
parents | b3e178f3e31f |
children | 279c01842eca |
line wrap: on
line source
from distutils.core import setup from os.path import dirname, join META_PATH = 'hgext3rd/evolve/metadata.py' def get_metadata(): meta = {} fullpath = join(dirname(__file__), META_PATH) with open(fullpath, 'r') as fp: exec(fp.read(), meta) return meta def get_version(): '''Read version info from a file without importing it''' return get_metadata()['__version__'].decode() def min_hg_version(): '''Read version info from a file without importing it''' return get_metadata()['minimumhgversion'] py_modules = [ 'hgext3rd.serverminitopic', ] py_packages = [ 'hgext3rd', 'hgext3rd.evolve', 'hgext3rd.evolve.thirdparty', 'hgext3rd.topic', ] py_packagedir = { 'hgext3rd': join(dirname(__file__), 'hgext3rd') } py_versions = '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4' setup( name='hg-evolve', version=get_version(), author='Pierre-Yves David', author_email='pierre-yves.david@ens-lyon.org', 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(join(dirname(__file__), 'README.rst')).read(), keywords='hg mercurial', license='GPLv2+', py_modules=py_modules, packages=py_packages, package_dir=py_packagedir, python_requires=py_versions )