diff --git a/ChangeLog b/ChangeLog index 87adea5..3b3b45a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ * doc/dev/release.txt: Fix formatting * MANIFEST.in: include the MANIFEST.in template, the license and other files + * versioneer.py,screed/{__init__,_version}.py: upgrade versioneer to 0.13 2015-02-23 Michael R. Crusoe diff --git a/screed/_version.py b/screed/_version.py index 9af5d5b..8877413 100644 --- a/screed/_version.py +++ b/screed/_version.py @@ -6,7 +6,7 @@ # that just contains the computed version number. # This file is released into the public domain. Generated by -# versioneer-0.12 (https://github.com/warner/python-versioneer) +# versioneer-0.13 (https://github.com/warner/python-versioneer) # these strings will be replaced by git during git-archive git_refnames = "$Format:%d$" @@ -17,7 +17,12 @@ parentdir_prefix = "." versionfile_source = "screed/_version.py" -import os, sys, re, subprocess, errno +import errno +import os +import re +import subprocess +import sys + def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): assert isinstance(commands, list) @@ -57,11 +62,12 @@ def versions_from_parentdir(parentdir_prefix, root, verbose=False): dirname = os.path.basename(root) if not dirname.startswith(parentdir_prefix): if verbose: - print("guessing rootdir is '%s', but '%s' doesn't start with prefix '%s'" % - (root, dirname, parentdir_prefix)) + print("guessing rootdir is '%s', but '%s' doesn't start with " + "prefix '%s'" % (root, dirname, parentdir_prefix)) return None return {"version": dirname[len(parentdir_prefix):], "full": ""} + def git_get_keywords(versionfile_abs): # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, @@ -69,7 +75,7 @@ def git_get_keywords(versionfile_abs): # _version.py. keywords = {} try: - f = open(versionfile_abs,"r") + f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) @@ -84,14 +90,15 @@ def git_get_keywords(versionfile_abs): pass return keywords + def git_versions_from_keywords(keywords, tag_prefix, verbose=False): if not keywords: - return {} # keyword-finding function failed to find keywords + return {} # keyword-finding function failed to find keywords refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") - return {} # unexpanded, so not in an unpacked git-archive tarball + return {} # unexpanded, so not in an unpacked git-archive tarball refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. @@ -116,13 +123,13 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose=False): r = ref[len(tag_prefix):] if verbose: print("picking %s" % r) - return { "version": r, - "full": keywords["full"].strip() } + return {"version": r, + "full": keywords["full"].strip()} # no suitable tags, so we use the full revision id if verbose: print("no suitable tags, using full revision id") - return { "version": keywords["full"].strip(), - "full": keywords["full"].strip() } + return {"version": keywords["full"].strip(), + "full": keywords["full"].strip()} def git_versions_from_vcs(tag_prefix, root, verbose=False): @@ -145,7 +152,8 @@ def git_versions_from_vcs(tag_prefix, root, verbose=False): return {} if not stdout.startswith(tag_prefix): if verbose: - print("tag '%s' doesn't start with prefix '%s'" % (stdout, tag_prefix)) + fmt = "tag '%s' doesn't start with prefix '%s'" + print(fmt % (stdout, tag_prefix)) return {} tag = stdout[len(tag_prefix):] stdout = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) @@ -163,17 +171,17 @@ def get_versions(default={"version": "unknown", "full": ""}, verbose=False): # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which # case we can only use expanded keywords. - keywords = { "refnames": git_refnames, "full": git_full } + keywords = {"refnames": git_refnames, "full": git_full} ver = git_versions_from_keywords(keywords, tag_prefix, verbose) if ver: return ver try: - root = os.path.abspath(__file__) + root = os.path.realpath(__file__) # versionfile_source is the relative path from the top of the source # tree (where the .git directory might live) to this file. Invert # this to find the root from __file__. - for i in range(len(versionfile_source.split(os.sep))): + for i in range(len(versionfile_source.split('/'))): root = os.path.dirname(root) except NameError: return default diff --git a/versioneer.py b/versioneer.py index 481180d..d3fe56c 100644 --- a/versioneer.py +++ b/versioneer.py @@ -1,5 +1,5 @@ -# Version: 0.12 +# Version: 0.13 """ The Versioneer @@ -10,8 +10,8 @@ * Brian Warner * License: Public Domain * Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, and pypy - -[![Build Status](https://travis-ci.org/warner/python-versioneer.png?branch=master)](https://travis-ci.org/warner/python-versioneer) +* [![Latest Version](https://pypip.in/version/versioneer/badge.svg?style=flat)](https://pypi.python.org/pypi/versioneer/) +* [![Build Status](https://travis-ci.org/warner/python-versioneer.png?branch=master)](https://travis-ci.org/warner/python-versioneer) This is a tool for managing a recorded version number in distutils-based python projects. The goal is to remove the tedious and error-prone "update @@ -103,7 +103,7 @@ append some `__version__`-setting assignments, if they aren't already present. -* `versionfile_build`: +* `versionfile_build`: Like `versionfile_source`, but relative to the build directory instead of the source directory. These will differ when your setup.py uses @@ -288,6 +288,7 @@ # these dictionaries contain VCS-specific tools LONG_VERSION_PY = {} + def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): assert isinstance(commands, list) p = None @@ -327,7 +328,7 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): # that just contains the computed version number. # This file is released into the public domain. Generated by -# versioneer-0.12 (https://github.com/warner/python-versioneer) +# versioneer-0.13 (https://github.com/warner/python-versioneer) # these strings will be replaced by git during git-archive git_refnames = "%(DOLLAR)sFormat:%%d%(DOLLAR)s" @@ -338,7 +339,12 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): parentdir_prefix = "%(PARENTDIR_PREFIX)s" versionfile_source = "%(VERSIONFILE_SOURCE)s" -import os, sys, re, subprocess, errno +import errno +import os +import re +import subprocess +import sys + def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False): assert isinstance(commands, list) @@ -378,11 +384,12 @@ def versions_from_parentdir(parentdir_prefix, root, verbose=False): dirname = os.path.basename(root) if not dirname.startswith(parentdir_prefix): if verbose: - print("guessing rootdir is '%%s', but '%%s' doesn't start with prefix '%%s'" %% - (root, dirname, parentdir_prefix)) + print("guessing rootdir is '%%s', but '%%s' doesn't start with " + "prefix '%%s'" %% (root, dirname, parentdir_prefix)) return None return {"version": dirname[len(parentdir_prefix):], "full": ""} + def git_get_keywords(versionfile_abs): # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, @@ -390,7 +397,7 @@ def git_get_keywords(versionfile_abs): # _version.py. keywords = {} try: - f = open(versionfile_abs,"r") + f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) @@ -405,14 +412,15 @@ def git_get_keywords(versionfile_abs): pass return keywords + def git_versions_from_keywords(keywords, tag_prefix, verbose=False): if not keywords: - return {} # keyword-finding function failed to find keywords + return {} # keyword-finding function failed to find keywords refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") - return {} # unexpanded, so not in an unpacked git-archive tarball + return {} # unexpanded, so not in an unpacked git-archive tarball refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. @@ -437,13 +445,13 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose=False): r = ref[len(tag_prefix):] if verbose: print("picking %%s" %% r) - return { "version": r, - "full": keywords["full"].strip() } + return {"version": r, + "full": keywords["full"].strip()} # no suitable tags, so we use the full revision id if verbose: print("no suitable tags, using full revision id") - return { "version": keywords["full"].strip(), - "full": keywords["full"].strip() } + return {"version": keywords["full"].strip(), + "full": keywords["full"].strip()} def git_versions_from_vcs(tag_prefix, root, verbose=False): @@ -466,7 +474,8 @@ def git_versions_from_vcs(tag_prefix, root, verbose=False): return {} if not stdout.startswith(tag_prefix): if verbose: - print("tag '%%s' doesn't start with prefix '%%s'" %% (stdout, tag_prefix)) + fmt = "tag '%%s' doesn't start with prefix '%%s'" + print(fmt %% (stdout, tag_prefix)) return {} tag = stdout[len(tag_prefix):] stdout = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) @@ -484,17 +493,17 @@ def get_versions(default={"version": "unknown", "full": ""}, verbose=False): # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which # case we can only use expanded keywords. - keywords = { "refnames": git_refnames, "full": git_full } + keywords = {"refnames": git_refnames, "full": git_full} ver = git_versions_from_keywords(keywords, tag_prefix, verbose) if ver: return ver try: - root = os.path.abspath(__file__) + root = os.path.realpath(__file__) # versionfile_source is the relative path from the top of the source # tree (where the .git directory might live) to this file. Invert # this to find the root from __file__. - for i in range(len(versionfile_source.split(os.sep))): + for i in range(len(versionfile_source.split('/'))): root = os.path.dirname(root) except NameError: return default @@ -504,6 +513,7 @@ def get_versions(default={"version": "unknown", "full": ""}, verbose=False): or default) ''' + def git_get_keywords(versionfile_abs): # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, @@ -511,7 +521,7 @@ def git_get_keywords(versionfile_abs): # _version.py. keywords = {} try: - f = open(versionfile_abs,"r") + f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) @@ -526,14 +536,15 @@ def git_get_keywords(versionfile_abs): pass return keywords + def git_versions_from_keywords(keywords, tag_prefix, verbose=False): if not keywords: - return {} # keyword-finding function failed to find keywords + return {} # keyword-finding function failed to find keywords refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") - return {} # unexpanded, so not in an unpacked git-archive tarball + return {} # unexpanded, so not in an unpacked git-archive tarball refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. @@ -558,13 +569,13 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose=False): r = ref[len(tag_prefix):] if verbose: print("picking %s" % r) - return { "version": r, - "full": keywords["full"].strip() } + return {"version": r, + "full": keywords["full"].strip()} # no suitable tags, so we use the full revision id if verbose: print("no suitable tags, using full revision id") - return { "version": keywords["full"].strip(), - "full": keywords["full"].strip() } + return {"version": keywords["full"].strip(), + "full": keywords["full"].strip()} def git_versions_from_vcs(tag_prefix, root, verbose=False): @@ -587,7 +598,8 @@ def git_versions_from_vcs(tag_prefix, root, verbose=False): return {} if not stdout.startswith(tag_prefix): if verbose: - print("tag '%s' doesn't start with prefix '%s'" % (stdout, tag_prefix)) + fmt = "tag '%s' doesn't start with prefix '%s'" + print(fmt % (stdout, tag_prefix)) return {} tag = stdout[len(tag_prefix):] stdout = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) @@ -637,13 +649,13 @@ def versions_from_parentdir(parentdir_prefix, root, verbose=False): dirname = os.path.basename(root) if not dirname.startswith(parentdir_prefix): if verbose: - print("guessing rootdir is '%s', but '%s' doesn't start with prefix '%s'" % - (root, dirname, parentdir_prefix)) + print("guessing rootdir is '%s', but '%s' doesn't start with " + "prefix '%s'" % (root, dirname, parentdir_prefix)) return None return {"version": dirname[len(parentdir_prefix):], "full": ""} SHORT_VERSION_PY = """ -# This file was generated by 'versioneer.py' (0.12) from +# This file was generated by 'versioneer.py' (0.13) from # revision-control system data, or from the parent directory name of an # unpacked source archive. Distribution tarballs contain a pre-generated copy # of this file.