summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2018-08-08 16:05:11 +0200
committerRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2018-08-08 16:05:11 +0200
commita91b40c99ea9bfc4289272285f17e1d43c243b76 (patch)
tree53ce81591c47650d26507742d26f826a49bd303b /src
parenta5d943de12d964fc938e947c871150073044a3ce (diff)
downloadsetuptools-scm-a91b40c99ea9bfc4289272285f17e1d43c243b76.tar.gz
pass trough config everywhere
Diffstat (limited to 'src')
-rw-r--r--src/setuptools_scm/__init__.py2
-rw-r--r--src/setuptools_scm/git.py3
-rw-r--r--src/setuptools_scm/hacks.py8
-rw-r--r--src/setuptools_scm/hg.py41
4 files changed, 32 insertions, 22 deletions
diff --git a/src/setuptools_scm/__init__.py b/src/setuptools_scm/__init__.py
index b81654d..1a39ac0 100644
--- a/src/setuptools_scm/__init__.py
+++ b/src/setuptools_scm/__init__.py
@@ -78,7 +78,7 @@ def _do_parse(config):
if pretended:
# we use meta here since the pretended version
# must adhere to the pep to begin with
- return meta(tag=pretended, preformatted=True)
+ return meta(tag=pretended, preformatted=True, config=config)
if config.parse:
parse_result = _call_entrypoint_fn(config, config.parse)
diff --git a/src/setuptools_scm/git.py b/src/setuptools_scm/git.py
index 5ba9ecf..8a91ff3 100644
--- a/src/setuptools_scm/git.py
+++ b/src/setuptools_scm/git.py
@@ -108,7 +108,7 @@ def parse(
dirty = wd.is_dirty()
if rev_node is None:
- return meta("0.0", distance=0, dirty=dirty)
+ return meta("0.0", distance=0, dirty=dirty, config=config)
return meta(
"0.0",
@@ -116,6 +116,7 @@ def parse(
node="g" + rev_node,
dirty=dirty,
branch=wd.get_branch(),
+ config=config,
)
else:
tag, number, node, dirty = _git_parse_describe(out)
diff --git a/src/setuptools_scm/hacks.py b/src/setuptools_scm/hacks.py
index 4e54d84..a4ca586 100644
--- a/src/setuptools_scm/hacks.py
+++ b/src/setuptools_scm/hacks.py
@@ -3,17 +3,17 @@ from .utils import data_from_mime, trace
from .version import meta
-def parse_pkginfo(root, config):
+def parse_pkginfo(root, config=None):
pkginfo = os.path.join(root, "PKG-INFO")
trace("pkginfo", pkginfo)
data = data_from_mime(pkginfo)
version = data.get("Version")
if version != "UNKNOWN":
- return meta(version, preformatted=True)
+ return meta(version, preformatted=True, config=config)
-def parse_pip_egg_info(root, config):
+def parse_pip_egg_info(root, config=None):
pipdir = os.path.join(root, "pip-egg-info")
if not os.path.isdir(pipdir):
return
@@ -21,4 +21,4 @@ def parse_pip_egg_info(root, config):
trace("pip-egg-info", pipdir, items)
if not items:
return
- return parse_pkginfo(os.path.join(pipdir, items[0]))
+ return parse_pkginfo(os.path.join(pipdir, items[0]), config=config)
diff --git a/src/setuptools_scm/hg.py b/src/setuptools_scm/hg.py
index d8f43ab..972f493 100644
--- a/src/setuptools_scm/hg.py
+++ b/src/setuptools_scm/hg.py
@@ -4,7 +4,7 @@ from .utils import do, trace, data_from_mime, has_command
from .version import meta, tags_to_versions
-def _hg_tagdist_normalize_tagcommit(root, tag, dist, node, branch):
+def _hg_tagdist_normalize_tagcommit(config, tag, dist, node, branch):
dirty = node.endswith("+")
node = "h" + node.strip("+")
@@ -19,14 +19,19 @@ def _hg_tagdist_normalize_tagcommit(root, tag, dist, node, branch):
tag=tag
)
if tag != "0.0":
- commits = do(["hg", "log", "-r", revset, "--template", "{node|short}"], root)
+ commits = do(
+ ["hg", "log", "-r", revset, "--template", "{node|short}"],
+ config.absolute_root,
+ )
else:
commits = True
trace("normalize", locals())
if commits or dirty:
- return meta(tag, distance=dist, node=node, dirty=dirty, branch=branch)
+ return meta(
+ tag, distance=dist, node=node, dirty=dirty, branch=branch, config=config
+ )
else:
- return meta(tag)
+ return meta(tag, config=config)
def parse(root, config=None):
@@ -40,12 +45,13 @@ def parse(root, config=None):
return
node = identity_data.pop(0)
branch = identity_data.pop(0)
+ if "tip" in identity_data:
+ # tip is not a real tag
+ identity_data.remove("tip")
tags = tags_to_versions(identity_data)
- # filter tip in degraded mode on old setuptools
- tags = [x for x in tags if x != "tip"]
dirty = node[-1] == "+"
if tags:
- return meta(tags[0], dirty=dirty, branch=branch)
+ return meta(tags[0], dirty=dirty, branch=branch, config=config)
if node.strip("+") == "0" * 12:
trace("initial node", config.absolute_root)
@@ -57,9 +63,7 @@ def parse(root, config=None):
if tag == "null":
tag = "0.0"
dist = int(dist) + 1
- return _hg_tagdist_normalize_tagcommit(
- config.absolute_root, tag, dist, node, branch
- )
+ return _hg_tagdist_normalize_tagcommit(config, tag, dist, node, branch)
except ValueError:
pass # unpacking failed, old hg
@@ -80,20 +84,25 @@ def get_graph_distance(root, rev1, rev2="."):
return len(out.strip().splitlines()) - 1
-def archival_to_version(data):
+def archival_to_version(data, config=None):
trace("data", data)
node = data.get("node", "")[:12]
if node:
node = "h" + node
if "tag" in data:
- return meta(data["tag"])
+ return meta(data["tag"], config=config)
elif "latesttag" in data:
- return meta(data["latesttag"], distance=data["latesttagdistance"], node=node)
+ return meta(
+ data["latesttag"],
+ distance=data["latesttagdistance"],
+ node=node,
+ config=config,
+ )
else:
- return meta("0.0", node=node)
+ return meta("0.0", node=node, config=config)
-def parse_archival(root):
+def parse_archival(root, config=None):
archival = os.path.join(root, ".hg_archival.txt")
data = data_from_mime(archival)
- return archival_to_version(data)
+ return archival_to_version(data, config=config)