Skip to content

Add an ability to pin casks #4898

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

Closed
ondrejfuhrer opened this issue Sep 13, 2018 · 3 comments
Closed

Add an ability to pin casks #4898

ondrejfuhrer opened this issue Sep 13, 2018 · 3 comments
Labels
outdated PR was locked due to age

Comments

@ondrejfuhrer
Copy link

Hello,

Right now there is a possibility to pin a formula so that when running upgrade, that particular formula is not going to be updated. Unfortunately that doesn't work for casks right now.

I've been already looking around and investigating how the brew pin is implemented and I have successfully copy / pasted and adapted it for casks by creating new brew cask pin and brew cask unpin commands.

I was wondering if that is something you would like to have here (I still have to finish few things to have it MR ready 🙂 ) or is there any objective reason why casks are not supported?

If this is a wanted feature I can do MR in few days for that 🙂

@vitorgalvao
Copy link
Contributor

If this is a wanted feature I can do MR in few days for that

Thank you for offering to do the legwork.

was wondering if that is something you would like to have here

It is something we’ve already decided we do not want to have.

or is there any objective reason why casks are not supported?

See #1523 for a lengthy tangential discussion.

pin/unpin doesn’t really work in casks, because a huge number of them auto-update, which is not something we can (or want to) reliably prevent.

@ondrejfuhrer
Copy link
Author

hey @vitorgalvao , thanks for the feedback I wonder why I didn't found that issue when I was looking for it, it probably was too old therefore moved to a page I didn't wen't to 😄

pin/unpin doesn’t really work in casks, because a huge number of them auto-update, which is not something we can (or want to) reliably prevent.

Fair enough even though I disagree here. I would make one point here - the purpose of pin/unpin is to prevent upgrading through the brew commands and it is capable of doing so.

If you choose another way of upgrading (auto-update, in-app update, manual update by downloading the source) it is logical to me, that pinning of course does not work. And if people do use another way of updating the apps, they probably won't use the pin/unpin at all (since they are not used to run brew cask upgrade to update their apps.

So I still think that if it would be properly communicated (i.e. brew pin is used to prevent the app from upgrading through brew cask upgrade command or something like that) it should be fine to have it.

But I get that it is your decision to have or not have this in your project and I totally respect that. Just wanted to put here my point of view.

Continue doing the great job that you do! 👍

@vitorgalvao
Copy link
Contributor

I wonder why I didn't found that issue when I was looking for it

Don’t worry, it was hard for me as as well and I knew what to search for! GitHub’s search can be limited in searching for issues, as it doesn’t let us search with the tricks of a regular search engine.

Fair enough even though I disagree here. I would make one point here - the purpose of pin/unpin is to prevent upgrading through the brew commands and it is capable of doing so.

I do get your point, but that would mean officially supporting two conflicting methods at once, and dealing with all the bug reports that would arise.

For a long time we tried to be more like a traditional package manager, but the things we install really do not want to be managed in such a way, so we had to make some tough clear choices regarding our direction. We’ve decided to emulate (the outcome of) manual installs as closely as possible.

So I still think that if it would be properly communicated (i.e. brew pin is used to prevent the app from upgrading through brew cask upgrade command or something like that) it should be fine to have it.

I’ll have to disagree only because we get frequent bug reports for things that are well documented. Some are even documented in the template users need to fill to open a report in the first place! It’s so prevalent, it lead me to this sigh.

if people do use another way of updating the apps, they probably won't use the pin/unpin at all (since they are not used to run brew cask upgrade to update their apps.

It’s a valid strategy to both let apps auto-update and use upgrade for the casks that don’t do it automatically.

But I get that it is your decision to have or not have this in your project and I totally respect that. Just wanted to put here my point of view.

Continue doing the great job that you do! 👍

I really appreciate it. Thank you for being understanding and respectful in your disagreement.

@lock lock bot added the outdated PR was locked due to age label Oct 14, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Oct 14, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests

2 participants