{{ message }}
Fix lazy "latest" GitRelease returning tag_name "latest"#3524
Open
Noethix55555 wants to merge 1 commit into
Open
Fix lazy "latest" GitRelease returning tag_name "latest"#3524Noethix55555 wants to merge 1 commit into
Noethix55555 wants to merge 1 commit into
Conversation
A GitRelease fetched via get_latest_release() has a URL ending in
.../releases/latest. When tag_name was absent, _useAttributes derived
tag_name from the last URL path segment ("latest") and marked
_tag_name as set, short-circuiting lazy completion and returning the
literal string "latest" instead of the real tag.
Skip the URL fallback when the last segment is "latest", leaving
_tag_name unset so lazy completion fetches the real tag_name.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Fixes #3486.
A
GitReleasefetched viaget_latest_release()has a URL ending in.../releases/latest. Whentag_namewas absent,GitRelease._useAttributesderivedtag_namefrom the last URL path segment ("latest") and marked_tag_nameas set, which short-circuits lazy completion and returns the literal string"latest"instead of the real tag.This skips the URL fallback when the last segment is
"latest", leaving_tag_nameunset so lazy completion fetches the realtag_name.Regression test added in
tests/GitRelease.py::testLazyLatestReleaseDoesNotDeriveTagNameFromUrl(fails on main, passes with the fix).