From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 7/7] python3-vcs-versioning: upgrade 2.2.4 -> 2.3.1
Date: Fri, 21 Aug 2026 10:09:59 +0100 [thread overview]
Message-ID: <20260821090959.3859632-7-richard.purdie@linuxfoundation.org> (raw)
In-Reply-To: <20260821090959.3859632-1-richard.purdie@linuxfoundation.org>
- 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.
- Add a ``vcs_versioning.dynamic_metadata`` provider for the dynamic-metadata system.
- 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.
- 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.
- 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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
...-vcs-versioning_2.2.4.bb => python3-vcs-versioning_2.3.1.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-devtools/python/{python3-vcs-versioning_2.2.4.bb => python3-vcs-versioning_2.3.1.bb} (91%)
diff --git a/meta/recipes-devtools/python/python3-vcs-versioning_2.2.4.bb b/meta/recipes-devtools/python/python3-vcs-versioning_2.3.1.bb
similarity index 91%
rename from meta/recipes-devtools/python/python3-vcs-versioning_2.2.4.bb
rename to meta/recipes-devtools/python/python3-vcs-versioning_2.3.1.bb
index c8665d90c9c..1800475dff4 100644
--- a/meta/recipes-devtools/python/python3-vcs-versioning_2.2.4.bb
+++ b/meta/recipes-devtools/python/python3-vcs-versioning_2.3.1.bb
@@ -5,7 +5,7 @@ library that can be used independently of setuptools."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c9b06ad2ebd7e2e82d34b3caf353e7d5"
-SRC_URI[sha256sum] = "ed718fdee42170e128a8add6f23f53aa64dc7d9ab2de87d3083a691df881a809"
+SRC_URI[sha256sum] = "806635bd0ea653c96af98a70624be758d408a989f2cd0b390e63474d99f96b63"
SRC_URI += "\
file://run-ptest \
prev parent reply other threads:[~2026-08-21 9:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 9:09 [PATCH 1/7] libcap-ng: upgrade 0.9.3 -> 0.9.5 Richard Purdie
2026-08-21 9:09 ` [PATCH 2/7] mesa: upgrade 26.2.0 -> 26.2.1 Richard Purdie
2026-08-21 9:09 ` [PATCH 3/7] puzzles: upgrade to latest revision Richard Purdie
2026-08-21 9:09 ` [PATCH 4/7] stress-ng: upgrade 0.21.04 -> 0.22.00 Richard Purdie
2026-08-21 9:09 ` [PATCH 5/7] python3-lxml: upgrade 6.1.1 -> 6.1.2 Richard Purdie
2026-08-21 9:09 ` [PATCH 6/7] webkitgtk: upgrade 2.52.5 -> 2.52.6 Richard Purdie
2026-08-21 9:09 ` Richard Purdie [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260821090959.3859632-7-richard.purdie@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.