summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2022-11-22 10:05:20 -0500
committerJason R. Coombs <jaraco@jaraco.com>2022-11-22 10:05:20 -0500
commit247dc4914b656ea333fc6cb4f6f99f3d79a8a9d3 (patch)
treebcbb43afd155563c057f2b830f6bf0c1871cfbdb
parent21ea82f995cecb6fcc1a3434e4740da7f67f313c (diff)
parenta70d44b5621770a4d4868057a9a1503ab7ac952b (diff)
downloadsetuptools-scm-247dc4914b656ea333fc6cb4f6f99f3d79a8a9d3.tar.gz
Merge branch 'main' into debt/unused-code
-rw-r--r--.git_archival.txt2
-rw-r--r--.pre-commit-config.yaml13
-rw-r--r--README.rst2
-rw-r--r--setup.cfg1
-rw-r--r--src/setuptools_scm/.git_archival.txt2
-rw-r--r--src/setuptools_scm/git.py17
-rw-r--r--testing/test_git.py1
7 files changed, 26 insertions, 12 deletions
diff --git a/.git_archival.txt b/.git_archival.txt
index 37d637d..8fb235d 100644
--- a/.git_archival.txt
+++ b/.git_archival.txt
@@ -1,4 +1,4 @@
node: $Format:%H$
node-date: $Format:%cI$
-describe-name: $Format:%(describe)$
+describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$
ref-names: $Format:%D$
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index af10aef..9fe41b2 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -2,12 +2,12 @@ default_language_version:
python: python3.9
repos:
- repo: https://github.com/psf/black
- rev: 22.6.0
+ rev: 22.10.0
hooks:
- id: black
args: [--safe, --quiet]
- repo: https://github.com/asottile/reorder_python_imports
- rev: v3.3.0
+ rev: v3.9.0
hooks:
- id: reorder-python-imports
args: [ "--application-directories=.:src" , --py37-plus, --add-import, 'from __future__ import annotations']
@@ -19,20 +19,21 @@ repos:
- id: check-yaml
- id: debug-statements
- repo: https://github.com/PyCQA/flake8
- rev: 4.0.1
+ rev: 5.0.4
hooks:
- id: flake8
- repo: https://github.com/asottile/pyupgrade
- rev: v2.34.0
+ rev: v3.2.0
hooks:
- id: pyupgrade
args: [--py37-plus]
- repo: https://github.com/asottile/setup-cfg-fmt
- rev: v1.20.1
+ rev: v2.2.0
hooks:
- id: setup-cfg-fmt
+ args: [ --include-version-classifiers ]
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: 'v0.961'
+ rev: 'v0.982'
hooks:
- id: mypy
args: [--strict]
diff --git a/README.rst b/README.rst
index a02caf7..18f763c 100644
--- a/README.rst
+++ b/README.rst
@@ -316,7 +316,7 @@ and copy-paste this into it::
node: $Format:%H$
node-date: $Format:%cI$
- describe-name: $Format:%(describe:tags=true)$
+ describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$
ref-names: $Format:%D$
Create the ``.gitattributes`` file in the root directory of your repository
diff --git a/setup.cfg b/setup.cfg
index 06c51ea..795bb21 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -19,6 +19,7 @@ classifiers =
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
Topic :: Software Development :: Libraries
Topic :: Software Development :: Version Control
Topic :: System :: Software Distribution
diff --git a/src/setuptools_scm/.git_archival.txt b/src/setuptools_scm/.git_archival.txt
index 37d637d..8fb235d 100644
--- a/src/setuptools_scm/.git_archival.txt
+++ b/src/setuptools_scm/.git_archival.txt
@@ -1,4 +1,4 @@
node: $Format:%H$
node-date: $Format:%cI$
-describe-name: $Format:%(describe)$
+describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$
ref-names: $Format:%D$
diff --git a/src/setuptools_scm/git.py b/src/setuptools_scm/git.py
index 27cb159..16ca378 100644
--- a/src/setuptools_scm/git.py
+++ b/src/setuptools_scm/git.py
@@ -232,9 +232,13 @@ def _git_parse_inner(
)
-def _git_parse_describe(describe_output: str) -> tuple[str, int, str, bool]:
+def _git_parse_describe(
+ describe_output: str,
+) -> tuple[str, int | None, str | None, bool]:
# 'describe_output' looks e.g. like 'v1.5.0-0-g4060507' or
# 'v1.15.1rc1-37-g9bd1298-dirty'.
+ # It may also just be a bare tag name if this is a tagged commit and we are
+ # parsing a .git_archival.txt file.
if describe_output.endswith("-dirty"):
dirty = True
@@ -242,8 +246,15 @@ def _git_parse_describe(describe_output: str) -> tuple[str, int, str, bool]:
else:
dirty = False
- tag, number, node = describe_output.rsplit("-", 2)
- return tag, int(number), node, dirty
+ split = describe_output.rsplit("-", 2)
+ if len(split) < 3: # probably a tagged commit
+ tag = describe_output
+ number = None
+ node = None
+ else:
+ tag, number_, node = split
+ number = int(number_)
+ return tag, number, node, dirty
def search_parent(dirname: _t.PathT) -> GitWorkdir | None:
diff --git a/testing/test_git.py b/testing/test_git.py
index 321d658..412ce75 100644
--- a/testing/test_git.py
+++ b/testing/test_git.py
@@ -523,6 +523,7 @@ def test_git_getdate_signed_commit(signed_commit_wd: WorkDir) -> None:
("0.0", {"node": "0" * 20}),
("1.2.2", {"describe-name": "release-1.2.2-0-g00000"}),
("1.2.2.dev0", {"ref-names": "tag: release-1.2.2.dev"}),
+ ("1.2.2", {"describe-name": "v1.2.2"}),
],
)
@pytest.mark.filterwarnings("ignore:git archive did not support describe output")