amend: add noise in extra to avoid creating obsolescence cycle (issue3664)
Obsolescence cycle are bad and should be avoided as much as possible. The
current amend implemented touch changeset meta data as few as possible. This
make is easy for amend to result in the same node than a precursors. We add some
deterministic noise in extra to avoid this. In practice, the hex of the amended
changeset is stored in 'amend_source' extra key.
[ original upstream message ]
#!/usr/bin/env python
# $Id$
from distutils.core import setup
import os, time
# specify version, Mercurial version otherwise
version = ''
unknown_version = 'unknown'
def getversion():
global version, unknown_version
if not version and os.path.isdir('.hg'):
p = os.popen('hg --quiet identify 2> %s' % os.devnull)
ident = p.read()[:-1]
if not p.close() and ident:
if ident[-1] != '+':
version = ident
else:
version = ident[:-1]
version += time.strftime('+%Y%m%d')
return version or unknown_version
setup(name='hgkw',
version=getversion(),
description='Mercurial keyword extension (standalone)',
author='Christian Ebert',
author_email='blacktrash@gmx.net',
url='http://www.blacktrash.org/hg/hgkeyword/',
license='GNU GPL',
packages=['hgkw'])