Skip to content

Preserve prerelease suffixes when normalizing GitHub tags - #205

Open
codewithfourtix wants to merge 2 commits into
aboutcode-org:masterfrom
codewithfourtix:fix-github-version-normalization
Open

Preserve prerelease suffixes when normalizing GitHub tags#205
codewithfourtix wants to merge 2 commits into
aboutcode-org:masterfrom
codewithfourtix:fix-github-version-normalization

Conversation

@codewithfourtix

Copy link
Copy Markdown

Tag normalization strips trailing v characters, turning v1.2-dev into 1.2-de. It also discards the underscore replacement when build metadata is present. Strip the prefix only and retain the normalized version component.

Tests cover both cases and verify that archive URLs retain the original tag.

Signed-off-by: Ali Zulfiqar <codewithfourtix@gmail.com>
Copilot AI lite review requested due to automatic review settings September 5, 2026 17:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

There are correctness/convention issues to address (robust + splitting/prefix handling in normalization and missing standard test-file license header).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates GitHub tag normalization so it strips only a leading v/V prefix (without damaging prerelease suffixes) and correctly applies underscore-to-dot normalization even when build metadata (+...) is present, while keeping archive download URLs based on the original tag.

Changes:

  • Fix tag normalization to avoid stripping trailing v characters from prerelease suffixes (e.g., v1.2-dev).
  • Ensure underscore normalization is applied to the version portion even when build metadata is present (e.g., v1_2_3+build_41.2.3+build_4).
  • Add regression tests verifying normalized version output and that archive URLs retain the original tag.
File summaries
File Description
tests/test_github_tag_versions.py Adds tests covering prerelease suffix preservation, build metadata handling, and original-tag archive URLs.
src/fetchcode/package_util.py Adjusts GitHub tag-to-version normalization logic to preserve suffixes and apply underscore normalization correctly.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/fetchcode/package_util.py Outdated
Comment thread tests/test_github_tag_versions.py
Signed-off-by: Ali Zulfiqar <codewithfourtix@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants