-
Fix tag handling: preserve annotations and explicit fetch-tags (#2356)
released this
2026-01-10 03:42:23 +08:00 | 1 commits to main since this releaseThis PR fixes several issues with tag handling in the checkout action:
-
fetch-tags: true now works (fixes #1471)
- Tags refspec is now included in getRefSpec() when fetchTags=true
- Previously tags were only fetched during a separate fetch that was
overwritten by the main fetch
-
Tag checkout preserves annotations (fixes #290)
- Tags are fetched via refspec (+refs/tags/:refs/tags/) instead of
--tags flag - This fetches the actual tag objects, preserving annotations
- Tags are fetched via refspec (+refs/tags/:refs/tags/) instead of
-
Tag checkout with fetch-tags: true no longer fails (fixes #1467)
- When checking out a tag with fetchTags=true, only the wildcard
refspec is used (specific tag refspec is redundant)
- When checking out a tag with fetchTags=true, only the wildcard
Changes:
- src/ref-helper.ts: getRefSpec() now accepts fetchTags parameter and
prepends tags refspec when true - src/git-command-manager.ts: fetch() simplified to always use --no-tags,
tags are fetched explicitly via refspec - src/git-source-provider.ts: passes fetchTags to getRefSpec()
- Added E2E test for fetch-tags option
Downloads
-