CVS commit: pkgsrc/devel/py-vcs-versioning

"Thomas Klausner" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
Module Name:	pkgsrc
Committed By:	wiz
Date:		Sun Aug 23 08:23:11 UTC 2026

Modified Files:
	pkgsrc/devel/py-vcs-versioning: Makefile PLIST distinfo

Log Message:
py-vcs-versioning: update to 2.3.1.

Add some test dependencies.

## 2.3.1 (2026-08-19)

### Fixed

- Fix a `FileNotFoundError` crash in the git file finder when a
submodule is tracked in the index but its working tree directory
does not exist - such gitlinks are now skipped like not checked
out submodules.
([#1500](https://github.com/pypa/setuptools-scm/issues/1500))

## 2.3.0 (2026-08-13)

### Added

- Add a ``vcs_versioning.dynamic_metadata`` provider for the
[dynamic-metadata](https://github.com/scikit-build/dynamic-metadata)
system. ([#1465](https://github.com/pypa/setuptools-scm/issues/1465))

### Fixed

- Make the `tag.strict` and `scm.git.describe_command` diagnostics
actionable and non-conflicting.

  The `tag.strict` future-default notice is now reported by the
  git backend rather than at configuration time, and only when the
  future default would actually select a different tag for the
  repository -- the message names both the current and the future
  version string. Projects the change cannot affect are silent,
  and setting an explicit `describe_command` no longer triggers it
  at all, so the two warnings can no longer contradict each other.

  The `describe_command` notice is likewise limited to the case
  where it and an explicit `tag.strict` really disagree, and no
  longer claims that `tag.prefix` has no effect -- prefix stripping
  applies regardless of how the tag was selected.

  Both are logged at warning level instead of raised as warnings,
  so `SETUPTOOLS_SCM_DEBUG=ERROR` silences them.
  ([#1429](https://github.com/pypa/setuptools-scm/issues/1429)) -
Honour `export-ignore` on directories and submodules again in the
git file finder.

  The switch from `git archive` to `git ls-files --recurse-submodules`
  lost two parts of the archive semantics: `--recurse-submodules`
  listed every submodule regardless of `export-ignore`, and the
  `:(exclude,attr:export-ignore)` pathspec only matches files, so
  an `export-ignore` on a directory no longer excluded the files
  below it. Projects that kept vendored submodules in an `export-ignore`d
  directory suddenly shipped them in their sdists.

  The finder now lists a repository without recursion, checks
  `export-ignore` for directories via `git check-attr` (which is
  what `git archive` effectively does when it skips a tree), and
  only then descends into the submodules that survived. Submodule
  contents are still listed - with their own `.gitattributes`
  applied - so `export-ignore` in the parent repository now controls
  exactly which submodules get packaged. Submodules that are not
  checked out are skipped instead of failing the listing.
  ([#1469](https://github.com/pypa/setuptools-scm/issues/1469)) -
Honour `tag.strict` on Mercurial changesets that carry tags of
their own, and report the coming strict default for Mercurial
repositories.

  `tag.strict` was only applied when looking for the latest tag,
  so a checked-out changeset tagged `event-2024` still produced
  version `2024` even with `tag.strict = true`, while git rejected
  the same tag. Strict matching now applies to the tags on the
  changeset too: a changeset carrying only event-style tags is
  treated as untagged and versioning continues from the last real
  version tag, matching `git describe --match`. When several tags
  sit on one changeset, the version-shaped one is now selected
  instead of whichever Mercurial happened to list first.

  The `tag.strict` divergence diagnostic added in #1429 now covers
  Mercurial as well, naming the current and future version whenever
  the coming default would change them. Both backends share the
  message, and the git-only helpers moved to `_backends/_scm_workdir.py`.

  Note that the Mercurial backend required a dot in version tags
  before setuptools-scm 9, so for Mercurial projects the coming
  strict default restores the historical behavior.
  ([#1495](https://github.com/pypa/setuptools-scm/issues/1495))


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 pkgsrc/devel/py-vcs-versioning/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/py-vcs-versioning/PLIST
cvs rdiff -u -r1.8 -r1.9 pkgsrc/devel/py-vcs-versioning/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(unnamed) (text/x-diff, 3.4 KB)
Modified files:

Index: pkgsrc/devel/py-vcs-versioning/Makefile
diff -u pkgsrc/devel/py-vcs-versioning/Makefile:1.9 pkgsrc/devel/py-vcs-versioning/Makefile:1.10
--- pkgsrc/devel/py-vcs-versioning/Makefile:1.9	Sun Aug  9 05:59:42 2026
+++ pkgsrc/devel/py-vcs-versioning/Makefile	Sun Aug 23 08:23:11 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.9 2026/08/09 05:59:42 adam Exp $
+# $NetBSD: Makefile,v 1.10 2026/08/23 08:23:11 wiz Exp $
 
-DISTNAME=	vcs_versioning-2.2.4
+DISTNAME=	vcs_versioning-2.3.1
 PKGNAME=	${PYPKGPREFIX}-${DISTNAME:S/_/-/}
 CATEGORIES=	devel python
 MASTER_SITES=	${MASTER_SITE_PYPI:=v/vcs_versioning/}
@@ -14,6 +14,10 @@ TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools
 DEPENDS+=	${PYPKGPREFIX}-packaging>=20:../../devel/py-packaging
 TEST_DEPENDS+=	${PYPKGPREFIX}-test-timeout>=0:../../devel/py-test-timeout
 TEST_DEPENDS+=	${PYPKGPREFIX}-test-xdist>=0:../../devel/py-test-xdist
+TEST_DEPENDS+=	${PYPKGPREFIX}-mercurial-[0-9]*:../../devel/py-mercurial
+TEST_DEPENDS+=	jj-[0-9]*:../../devel/jj
+
+USE_TOOLS+=	git:test
 
 USE_LANGUAGES=	# none
 
@@ -25,8 +29,8 @@ DEPENDS+=	${PYPKGPREFIX}-tomli>=1:../../
 DEPENDS+=	${PYPKGPREFIX}-typing-extensions>=0:../../devel/py-typing-extensions
 .endif
 
-# as of 1.1.1
-# 3 failed, 297 passed, 109 skipped, 3 warnings
+# as of 2.3.1
+# 1 failed, 647 passed, 9 skipped
 
 .include "../../lang/python/wheel.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/py-vcs-versioning/PLIST
diff -u pkgsrc/devel/py-vcs-versioning/PLIST:1.3 pkgsrc/devel/py-vcs-versioning/PLIST:1.4
--- pkgsrc/devel/py-vcs-versioning/PLIST:1.3	Tue Jun 23 05:34:55 2026
+++ pkgsrc/devel/py-vcs-versioning/PLIST	Sun Aug 23 08:23:11 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2026/06/23 05:34:55 adam Exp $
+@comment $NetBSD: PLIST,v 1.4 2026/08/23 08:23:11 wiz Exp $
 bin/vcs-versioning-${PYVERSSUFFIX}
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -53,6 +53,9 @@ ${PYSITELIB}/vcs_versioning/_discover.py
 ${PYSITELIB}/vcs_versioning/_dump_version.py
 ${PYSITELIB}/vcs_versioning/_dump_version.pyc
 ${PYSITELIB}/vcs_versioning/_dump_version.pyo
+${PYSITELIB}/vcs_versioning/_dynamic_metadata.py
+${PYSITELIB}/vcs_versioning/_dynamic_metadata.pyc
+${PYSITELIB}/vcs_versioning/_dynamic_metadata.pyo
 ${PYSITELIB}/vcs_versioning/_entrypoints.py
 ${PYSITELIB}/vcs_versioning/_entrypoints.pyc
 ${PYSITELIB}/vcs_versioning/_entrypoints.pyo

Index: pkgsrc/devel/py-vcs-versioning/distinfo
diff -u pkgsrc/devel/py-vcs-versioning/distinfo:1.8 pkgsrc/devel/py-vcs-versioning/distinfo:1.9
--- pkgsrc/devel/py-vcs-versioning/distinfo:1.8	Sun Aug  9 05:59:42 2026
+++ pkgsrc/devel/py-vcs-versioning/distinfo	Sun Aug 23 08:23:11 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.8 2026/08/09 05:59:42 adam Exp $
+$NetBSD: distinfo,v 1.9 2026/08/23 08:23:11 wiz Exp $
 
-BLAKE2s (vcs_versioning-2.2.4.tar.gz) = 7999a59e46713c668079ddd8e3f893d01cfa63feb2a9979c267423283028a164
-SHA512 (vcs_versioning-2.2.4.tar.gz) = f2fa4536d3f204f291341af3be4ec22c12867fe8bfe4ee5851794bf7a6847c3657f55297a8a42639916115cc4e5b2cb2a14171e3591610dd55ec0035f2c0a347
-Size (vcs_versioning-2.2.4.tar.gz) = 145243 bytes
+BLAKE2s (vcs_versioning-2.3.1.tar.gz) = 83a49b4902254564a100024fb354ed03501cda162173b65a8bae54c49f460e33
+SHA512 (vcs_versioning-2.3.1.tar.gz) = 31ea5d94b881eb19c709873086110498c64da4a3525f6eace82fe693ea7243b812f1434c20e08ad8c6ad9c3cb013831ecfe88834739dc60a9c1b78fb746c5dee
+Size (vcs_versioning-2.3.1.tar.gz) = 156292 bytes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.