-
Notifications
You must be signed in to change notification settings - Fork 540
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
Feat/info #382
Feat/info #382
Conversation
@franciscocpg thanks for the pull request. I like being able to pull more information. Why the addition of the |
}, | ||
Action: func(c *cli.Context) { | ||
if c.IsSet("format") { | ||
action.Info(c.String("format")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if no format is passed in?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If no format is passed in then the help command is printed. Format is a mandatory option.
Hi @mattfarina. |
Ahh...yeah, IMO, it's a hard no on having versions in the manifest. 😢 Because I can't direct link into spots in my article (ugh, medium), here's the quote:
To my mind, it's not a question of good or poor practice; allowing versions in the code itself introduces a fundamental ambiguity in the way we understand time and version. The in-code and meta-code versions are non-equivalent, and having them trying to coexist in the same packaging ecosystem system introduces undecidable problems - certainly in practice, possibly even in theory - for any tool. At minimum, we have to have rules like "use tags, but if they're not there then use a version in the manifest," which leads to confusing UX for users, in addition to the near-guarantee of disagreement between the two systems. IF Go had a central package manager like crates, then this could be feasible - we could use it to enforce the same way they do. But we don't. Go was designed around a VCS-driven ecosystem from the start, and I don't know of a way to keep the problem sane if we undermine that. I'm happy to go into more detail if the depth of the problem this would create isn't clear.
There are tools that facilitate cross-VCS migration, certainly including tags. But, two things:
It seems to me that the benefits on this front are pretty small, and they don't outweigh the costs.
Mandatory-ness isn't the problem. By having the data there at all, we have to decide how to reconcile it with all the other version data floating around out there. |
to be clear, i'm not raining on the idea as a whole - just the addition of a |
Hi @sdboyer. Anyway, I hope you guys can approve my PR now, 😀. |
@franciscocpg We may not be explaining the version handling well. Being that version handling and VCS is common in software we may be jumping over some details. These may be details you already know but I don't want to assume anything.
If the version were listed in the For example, in git I can run Version ranges are entirely different. They are great for solving for the right versions to use and Glide supports those. It's just not good here. Does that help? |
@mattfarina, yes. |
@franciscocpg thanks for the contribution. I did update the help text but otherwise this works. We can, in the future, add version handling that talks with the VCS. |
This feature enables printing some glide.yaml info as described in the usage:
glide info