Fix Git tag update regression #58
Merged
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.
Summary
Fixes #46: Git tags in
branchoption are now correctly handled during updatesThis PR fixes a regression introduced in v3.x/v4.x where updating from one Git tag to another stopped working. Tags were incorrectly treated as branches during the update process.
Current Status: Demonstrating the Bug
Failing Test
The first commit adds
test_update_git_tag_to_new_tag()that demonstrates the issue:Test scenario:
branch = 1.0.0(works viagit clone -b)branch = 2.0.0Error:
Root Cause
In
git_update()at lines 249-251:This code assumes the value in
branchis an actual Git branch. When it's a tag:git fetchruns successfully (fetches tags)git_switch_branch()looks for the tag ingit branch -aoutputWhy initial checkout works:
git clone -b 8.0.0recognizes tags and worksWhy update fails: The update logic only looks in branch listings
Next Steps
git_update()Test Plan