All of lore.kernel.org
 help / color / mirror / Atom feed
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 \


      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.