summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2023-03-14 10:30:01 +0100
committerRonny Pfannschmidt <opensource@ronnypfannschmidt.de>2023-03-14 17:37:40 +0100
commit3bee5b998ce990f26ed6a5ff97a10c2e9b087e5b (patch)
tree0f512b494fb451c484c5b9d5c7103169a7687770
parent2f22818fcbbcc7aa68f0111d5b3eb0f40a628891 (diff)
downloadsetuptools-scm-3bee5b998ce990f26ed6a5ff97a10c2e9b087e5b.tar.gz
pre-commit autoupdate + has_command fix
-rw-r--r--.pre-commit-config.yaml4
-rw-r--r--nextgen/vcs-versioning/pyproject.toml1
-rw-r--r--pyproject.toml12
-rw-r--r--src/setuptools_scm/utils.py11
4 files changed, 12 insertions, 16 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 15273bf..0ca4d0d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -29,12 +29,12 @@ repos:
- id: pyupgrade
args: [--py37-plus]
- repo: https://github.com/tox-dev/pyproject-fmt
- rev: "0.8.0"
+ rev: "0.9.2"
hooks:
- id: pyproject-fmt
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: 'v1.0.1'
+ rev: 'v1.1.1'
hooks:
- id: mypy
args: [--strict]
diff --git a/nextgen/vcs-versioning/pyproject.toml b/nextgen/vcs-versioning/pyproject.toml
index c7e5097..a48dc5a 100644
--- a/nextgen/vcs-versioning/pyproject.toml
+++ b/nextgen/vcs-versioning/pyproject.toml
@@ -33,7 +33,6 @@ Documentation = "https://github.com/unknown/vcs-versioning#readme"
Issues = "https://github.com/unknown/vcs-versioning/issues"
Source = "https://github.com/unknown/vcs-versioning"
-
[tool.hatch.version]
path = "vcs_versioning/__about__.py"
diff --git a/pyproject.toml b/pyproject.toml
index c8a4baa..48f1c8b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -53,37 +53,28 @@ test = [
]
toml = [
]
-
[project.urls]
repository = "https://github.com/pypa/setuptools_scm/"
-
[project.entry-points."distutils.setup_keywords"]
use_scm_version = "setuptools_scm.integration:version_keyword"
-
[project.entry-points."setuptools.file_finders"]
setuptools_scm = "setuptools_scm._file_finders:find_files"
-
[project.entry-points."setuptools.finalize_distribution_options"]
setuptools_scm = "setuptools_scm.integration:infer_version"
-
[project.entry-points."setuptools_scm.files_command"]
".git" = "setuptools_scm._file_finders.git:git_find_files"
".hg" = "setuptools_scm._file_finders.hg:hg_find_files"
-
[project.entry-points."setuptools_scm.files_command_fallback"]
".git_archival.txt" = "setuptools_scm._file_finders.git:git_archive_find_files"
".hg_archival.txt" = "setuptools_scm._file_finders.hg:hg_archive_find_files"
-
[project.entry-points."setuptools_scm.local_scheme"]
dirty-tag = "setuptools_scm.version:get_local_dirty_tag"
no-local-version = "setuptools_scm.version:get_no_local_node"
node-and-date = "setuptools_scm.version:get_local_node_and_date"
node-and-timestamp = "setuptools_scm.version:get_local_node_and_timestamp"
-
[project.entry-points."setuptools_scm.parse_scm"]
".git" = "setuptools_scm.git:parse"
".hg" = "setuptools_scm.hg:parse"
-
[project.entry-points."setuptools_scm.parse_scm_fallback"]
".git_archival.txt" = "setuptools_scm.git:parse_archival"
".hg_archival.txt" = "setuptools_scm.hg:parse_archival"
@@ -91,7 +82,6 @@ PKG-INFO = "setuptools_scm.hacks:parse_pkginfo"
pip-egg-info = "setuptools_scm.hacks:parse_pip_egg_info"
"pyproject.toml" = "setuptools_scm.hacks:fallback_version"
"setup.py" = "setuptools_scm.hacks:fallback_version"
-
[project.entry-points."setuptools_scm.version_scheme"]
"calver-by-date" = "setuptools_scm.version:calver_by_date"
"guess-next-dev" = "setuptools_scm.version:guess_next_dev_version"
@@ -100,8 +90,6 @@ pip-egg-info = "setuptools_scm.hacks:parse_pip_egg_info"
"python-simplified-semver" = "setuptools_scm.version:simplified_semver_version"
"release-branch-semver" = "setuptools_scm.version:release_branch_semver_version"
-
-
[tool.setuptools.dynamic]
version = {attr = "scm_hack_build_backend.dynamic_version"}
diff --git a/src/setuptools_scm/utils.py b/src/setuptools_scm/utils.py
index 09d8af7..6788f23 100644
--- a/src/setuptools_scm/utils.py
+++ b/src/setuptools_scm/utils.py
@@ -3,6 +3,8 @@ utils
"""
from __future__ import annotations
+import logging
+import subprocess
import sys
import warnings
from types import CodeType
@@ -16,6 +18,8 @@ from . import _trace
if TYPE_CHECKING:
from . import _types as _t
+log = logging.getLogger(__name__)
+
class _CmdResult(NamedTuple):
out: str
@@ -54,10 +58,15 @@ def function_has_arg(fn: object | FunctionType, argname: str) -> bool:
def has_command(name: str, args: list[str] | None = None, warn: bool = True) -> bool:
try:
cmd = [name, "help"] if args is None else [name, *args]
- p = _run_cmd.run(cmd, ".")
+ p = _run_cmd.run(cmd, cwd=".", timeout=5)
except OSError:
_trace.trace(*sys.exc_info())
res = False
+ except subprocess.TimeoutExpired as e:
+ log.info(e)
+ _trace.trace(e)
+ res = False
+
else:
res = not p.returncode
if not res and warn: