touch: prompt the user for what to do with the revived changeset
This patch improves our interface for reviving changesets.
This patch makes touch not assume that the user wants to create divergence by
default and gives a prompt instead. The prompt is skipped for changeset that
have no living successor as no divergence would be created by reviving them
anyway.
To restore the previous behavior, one should now use the --allowdivergence flag.
The prompt looks like:
[10] <description>
reviving this changeset will create divergence unless you make a duplicate.
(a)llow divergence or (d)uplicate the changeset? a
In further patches we will want to add one more choice to that prompt, for
example having a marker between the old and revived nodes but no divergence
displayed on the UI.
# 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
)