iterative / gto

🏷️ Git Tag Ops. Turn your Git repository into Artifact Registry or Model Registry.
https://dvc.org/doc/gto
Apache License 2.0
142 stars 16 forks source link

Story: tag comments, are they necessary? #359

Closed francesco086 closed 1 year ago

francesco086 commented 1 year ago

Summary / Background

I have an artifact registry set, and for reasons I won't explain here, I had to delete and re-create all the gto tags. I thought that the easiest would be to manually create the tags. However, I then figured that the tags did not work because I did not insert the tag message as gto does. Things like

Assigning stage prod to artifact base-churn version v1.1.0

or

Registering artifact base-churn version v1.0.0

This confuses me: why e.g. gto show does not work if these tag messages are missing? Is it really necessary? And if it is to convey some important information, wouldn't be better to use another format, like json, to allow customization from the user (e.g. in one instance I use the git tag comments to convey information to the CI/CD pipeline triggered by it).

aguschin commented 1 year ago

Hi @francesco086! If you don't specify any message for tags, they're created as lightweight https://git-scm.com/book/en/v2/Git-Basics-Tagging.

We had a discussion about them here https://github.com/iterative/gto/issues/127, and decided to not support them, since the information about the author and creation datetime is missing. This makes for less visibility and makes auditing things harder.

I hope it make sense.

francesco086 commented 1 year ago

Thanks for the explanation. So this means that gto does not support lightweight tags even for read commands. It's a little bit annoying tbh, at least in the real-life experience. Also, from the discussion you had I miss the point... what does Registering artifact base-churn version v1.0.0 tell you that base-churn@v1.0.0 does not contain already?

But, now that I know that, I can circumvent the problem in the future. So I close the issue.

aguschin commented 1 year ago

I think a dummy comment like Registering artifact base-churn version v1.0.0 don't have any additional info indeed. But to store author/date we need an annotated git tag, which cannot exist without a message. That's why we can't get away without it.