Brew cask outdated --greedy


(Mark B Sigler) #1

dropbox (latest) != latest
google-backup-and-sync (latest) != latest
google-cloud-sdk (latest) != latest
google-hangouts (latest) != latest

Why is latest != latest ?

This was after brew cask reinstall --force brew cask outdated --greedy

I’m not even quite sure that I understand why outdated would be necessary.


(Claudia) #2

Why is latest != latest ?

From the man page (man brew-cask):

If --greedy is given then also include in the output the Casks having auto_updates true or version :latest. Otherwise they are skipped because there is no reliable way to know when updates are available for them.

In other words: Homebrew Cask cannot track versions of those apps. The command brew cask outdated --greedy will suggest you every single app that could possibly need an upgrade. Whenever you use --greedy, you basically tell Homebrew to assume that all those apps are outdated (i. e., their latest is not equal to your latest).

If you have a good idea how to improve the (less than perfect) UX here, you’re welcome to file an issue or a PR on Homebrew/brew.

I’m not even quite sure that I understand why outdated would be necessary.

It’s a bit like on the Mac App Store: maybe you’re happy with just clicking Update all and then moving on. Or you may want more control over the individual upgrades so you decide to look at the individual apps on the Updates tab. In a nutshell, running brew cask outdated is a little like looking at the Updates tab of the Mac App Store.