Release v6: Fix tag handling: preserve annotations and explicit fetch-tags (#2356) · actions/checkout (original) (raw)

This PR fixes several issues with tag handling in the checkout action:

  1. 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
  2. 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
  3. 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)

Changes:

Related #1471, #1467, #290