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

[FEATURE REQUEST] Ability to make tags #157

Open
hhsecond opened this issue Nov 5, 2019 · 3 comments
Open

[FEATURE REQUEST] Ability to make tags #157

hhsecond opened this issue Nov 5, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@hhsecond
Copy link
Member

hhsecond commented Nov 5, 2019

Is your feature request related to a problem? Please describe.
Ability to create tags and checkout to tags is important especially when we try to make a wrapper like the stockroom

Describe the solution you'd like
After commit, like GitHub, the user should be able to tag. User should also be able to checkout to tags

@hhsecond hhsecond added the enhancement New feature or request label Nov 5, 2019
@elistevens
Copy link

FYI, I think that in the short term, branches can accomplish most of the needed functionality.

@hhsecond
Copy link
Member Author

hhsecond commented Nov 5, 2019

Agreed, but adding tags is not a difficult task either. I see why'd you think that way but I had a need for this in the wrapper I was writing for hangar for model storage. Specifying commits (tags) over branches is bit more convenient there

@rlizzo
Copy link
Member

rlizzo commented Nov 11, 2019

So Sherin, I actually think this is one feature of git which I'd prefer not to emulate. Tags were added as kind of an afterthought, and have a couple really horrifying properties:

  • Since there's nothing connecting them directly to the immutable history of the project, they don't offer any sort of guarantee there's something tagged version x.Y.Z will remain that exact same tag if the project to maintainer where to go a little crazy and remove or replace it on another commit.

  • Because there's nothing connecting a tag with the rest of the ancestor graph, the way in which they are transferred between clients and servers is not deterministic. Were a tag Incorporated directly into the merkle tree, it would be possible to automatically push and pull tags without trust (history can be independently verified). Since that's not the case, fetching and pushing tags has remained this orphaned operation in Git.

At the end of the day what we are looking for is a away to assign a human readable name to a particular commit digest / point in time. I agree with Eli that branches solve most of this right now, and that we've got bigger things to work on. I know keeping the digest around isn't the most convenient thing in the world, but it really is the best way to refer to a commit.

I'm sure we could figure out a solution that would actually work here for a project like this at its stage in its life cycle. We could technically add the concept of a tag field in the components that are hashed along each commit, or we might even come up with something a bit more clever. I don't want to discourage you from working on this if it's something that you need, but getting to an acceptable solution isn't really as trivial as it appears at first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants