diff options
author | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2018-08-08 16:05:11 +0200 |
---|---|---|
committer | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2018-08-08 16:05:11 +0200 |
commit | a91b40c99ea9bfc4289272285f17e1d43c243b76 (patch) | |
tree | 53ce81591c47650d26507742d26f826a49bd303b /src | |
parent | a5d943de12d964fc938e947c871150073044a3ce (diff) | |
download | setuptools-scm-a91b40c99ea9bfc4289272285f17e1d43c243b76.tar.gz |
pass trough config everywhere
Diffstat (limited to 'src')
-rw-r--r-- | src/setuptools_scm/__init__.py | 2 | ||||
-rw-r--r-- | src/setuptools_scm/git.py | 3 | ||||
-rw-r--r-- | src/setuptools_scm/hacks.py | 8 | ||||
-rw-r--r-- | src/setuptools_scm/hg.py | 41 |
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) |