|
| ▲ | MadnessASAP 11 hours ago | parent | next [-] |
| I dont find the idea of a immutable "descriptive" tag or branch to be that useful (I also dont find the differentiation of tags and branches to be useful either) I've seen plenty of repositories where tags end up being pretty ambiguous compared to each other or where "release-20xx" does not actually point to the official 20xx release. Immutable references are more typically handled by builders and lockfiles to which Git already has a superior immutable reference system, the commit hash. |
| |
| ▲ | mroche 5 hours ago | parent [-] | | I 100% agree on the latter (the tag != release is more of a project management issue), and the same concept applies to containers and their digest hashes. The main issue at the end of the day is the human one: most people don't like looking at hashes, nor do they provide context of progression. I would say "give both" and make sure they match on the end user side of things, but tags are the most common way (open source) software releases are denoted. |
|
|
| ▲ | Buttons840 9 hours ago | parent | prev | next [-] |
| As long as we can create and delete tags, they will never be immutable, right? |
| |
| ▲ | mroche 6 hours ago | parent [-] | | The purpose of the forge is to be able to prevent this. Protected tags are usually a feature which provides a way to mark tags as untouchable, so removal would require a minimum level of trust to the repository on the platform. Otherwise, attempts to push tag deletions or changes for tags matching the protected pattern would be rejected/ignored. Of course, the repository owner has unlimited privilege here, hence the last part of my prior comment. |
|
|
| ▲ | jaggederest 7 hours ago | parent | prev [-] |
| Tags are just a text file with a name and the sha of the tag object (with the commit and some metadata/signatures as contents), last I checked. It's deliberately simple and thus almost impossible to actually lock it down in concrete terms. Packed refs are a little more complicated but all of the storage formats in git are trivial to manually edit or write a tool to handle, in extremis. |
| |