##// END OF EJS Templates
changegroup: move message about added changes to transaction summary...
changegroup: move message about added changes to transaction summary Before that, applying multiple changegroups in the same transaction issued the message multiple time. This result in a confusing output: adding changesets adding manifests adding file changes added 32768 changesets with 60829 changes to 2668 files adding changesets adding manifests adding file changes added 8192 changesets with 16885 changes to 1553 files adding changesets adding manifests adding file changes added 1020 changesets with 1799 changes to 536 files adding changesets adding manifests ... Instead, we now only issue the message once at the end of the transaction, summing up all added changesets, changes and files. The line is identical, but happens sightly later in the output. There are other suboptimal behavior around issue multiple changegroup (eg: progress bar). We'll cover them later. This impact of lot of test as one would expect, but a two pass check show they are just the order change we expected. To deal with "under the hood" bundle application by internal code, we had to take a slightly hacky move. We could clean that up with a more official way to enter "under the hood" section, however I want to keep this series simple to get it landed. This kind of change have a very high bit rot rate since it impact a lot of test output.

File last commit:

r42237:675775c3 default
r43167:d7304434 default
Show More
setup.py
113 lines | 3.3 KiB | text/x-python | PythonLexer
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 #!/usr/bin/env python
# Copyright (c) 2016-present, Gregory Szorc
# All rights reserved.
#
# This software may be modified and distributed under the terms
# of the BSD license. See the LICENSE file for details.
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 from __future__ import print_function
from distutils.version import LooseVersion
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 import os
Gregory Szorc
zstd: vendor python-zstandard 0.6.0...
r30822 import sys
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 from setuptools import setup
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 # Need change in 1.10 for ffi.from_buffer() to handle all buffer types
# (like memoryview).
# Need feature in 1.11 for ffi.gc() to declare size of objects so we avoid
# garbage collection pitfalls.
MINIMUM_CFFI_VERSION = '1.11'
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 try:
import cffi
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237
# PyPy (and possibly other distros) have CFFI distributed as part of
# them. The install_requires for CFFI below won't work. We need to sniff
# out the CFFI version here and reject CFFI if it is too old.
cffi_version = LooseVersion(cffi.__version__)
if cffi_version < LooseVersion(MINIMUM_CFFI_VERSION):
print('CFFI 1.11 or newer required (%s found); '
'not building CFFI backend' % cffi_version,
file=sys.stderr)
cffi = None
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 except ImportError:
cffi = None
import setup_zstd
Gregory Szorc
zstd: vendor python-zstandard 0.6.0...
r30822 SUPPORT_LEGACY = False
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 SYSTEM_ZSTD = False
WARNINGS_AS_ERRORS = False
Gregory Szorc
zstd: vendor python-zstandard 0.6.0...
r30822
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 if os.environ.get('ZSTD_WARNINGS_AS_ERRORS', ''):
WARNINGS_AS_ERRORS = True
if '--legacy' in sys.argv:
Gregory Szorc
zstd: vendor python-zstandard 0.6.0...
r30822 SUPPORT_LEGACY = True
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 sys.argv.remove('--legacy')
if '--system-zstd' in sys.argv:
SYSTEM_ZSTD = True
sys.argv.remove('--system-zstd')
if '--warnings-as-errors' in sys.argv:
WARNINGS_AS_ERRORS = True
Gregory Szorc
zstandard: pull in bug fixes from upstream 0.9.1 release (issue5884)...
r38244 sys.argv.remove('--warning-as-errors')
Gregory Szorc
zstd: vendor python-zstandard 0.6.0...
r30822
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 # Code for obtaining the Extension instance is in its own module to
# facilitate reuse in other projects.
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 extensions = [
setup_zstd.get_c_extension(name='zstd',
support_legacy=SUPPORT_LEGACY,
system_zstd=SYSTEM_ZSTD,
warnings_as_errors=WARNINGS_AS_ERRORS),
]
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 install_requires = []
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 if cffi:
import make_cffi
extensions.append(make_cffi.ffi.distutils_extension())
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 install_requires.append('cffi>=%s' % MINIMUM_CFFI_VERSION)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 version = None
with open('c-ext/python-zstandard.h', 'r') as fh:
for line in fh:
if not line.startswith('#define PYTHON_ZSTANDARD_VERSION'):
continue
version = line.split()[2][1:-1]
break
if not version:
raise Exception('could not resolve package version; '
'this should never happen')
setup(
name='zstandard',
version=version,
description='Zstandard bindings for Python',
long_description=open('README.rst', 'r').read(),
url='https://github.com/indygreg/python-zstandard',
author='Gregory Szorc',
author_email='gregory.szorc@gmail.com',
license='BSD',
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Programming Language :: C',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 'Programming Language :: Python :: 3.6',
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 'Programming Language :: Python :: 3.7',
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 ],
keywords='zstandard zstd compression',
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 packages=['zstandard'],
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 ext_modules=extensions,
test_suite='tests',
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 install_requires=install_requires,
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 )