Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Use annotated tags for future releases #1191

Open
stweil opened this issue Apr 14, 2024 · 2 comments
Open

[Question] Use annotated tags for future releases #1191

stweil opened this issue Apr 14, 2024 · 2 comments
Labels
⁉ question A non-code issue or question.

Comments

@stweil
Copy link
Member

stweil commented Apr 14, 2024

Please use annotated tags instead of lightweight tags for future releases of kitodo-presentation. Ideally the tags should also be signed with a key.

Citation from man git-tag:
"Annotated tags are meant for release while lightweight tags are meant for private or temporary object labels."

Meanwhile there are 3663 commits since the last annotated tag.

@sebastian-meyer
Copy link
Member

What's the benefit of annotated tags over lightweight tags?

Tags are currently set when preparing a new release. This is automated by GitHub as part of the release workflow and I don't see how I could GitHub tell to use another kind of tag...

@sebastian-meyer sebastian-meyer added the ⁉ question A non-code issue or question. label May 7, 2024
@sebastian-meyer sebastian-meyer changed the title Use annotated tags for future releases [Question] Use annotated tags for future releases May 7, 2024
@stweil
Copy link
Member Author

stweil commented May 7, 2024

Annotated tags are handled similar to commits, for example using the command line:

# Create an unsigned annotated tag.
git tag -a -m "New release v6.0.1" v6.0.1
git push origin v6.0.1

# Create a signed annotated tag.
git tag -s -m "New release v6.0.2" v6.0.2
git push origin v6.0.2

Those steps are done before the release is published on GitHub, so the GitHub release process won't create an additional tag.

Like a commit an annotated tag has an author, a timestamp, a message and optionally a digital signature. I suggest to use signed annotated tags, but even unsigned annotated tags are an improvement compared with lightweight tags.

As I wrote in my report above, git recommends using annotated tags for releases.
The command git describe looks for annotated tags by default.

This is the answer to your question from a chatbot:

  • Annotated tags allow you to add a message to the tag, which provides more information about why the tag was created
    and what changes were made in the codebase. This can be useful for documenting changes and providing context for other
    developers.
  • Annotated tags also allow you to sign your commits, which can help ensure that your code has not been tampered with
    and is authentic.
  • Annotated tags provide a more comprehensive commit history, making it easier to understand how different versions of
    your code are related and how they have changed over time.
  • Lightweight tags do not have these additional features, so if you need more advanced version control functionality,
    annotated tags may be a better choice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⁉ question A non-code issue or question.
Projects
None yet
Development

No branches or pull requests

2 participants