diff options
| -rw-r--r-- | Library/Homebrew/cmd/upgrade.rb | 16 | ||||
| -rw-r--r-- | Library/Homebrew/manpages/brew.1.md | 6 | ||||
| -rw-r--r-- | share/man/man1/brew.1 | 5 |
3 files changed, 23 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 10d323b14..8ba3eb8fc 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -5,10 +5,17 @@ module Homebrew def upgrade Homebrew.perform_preinstall_checks - if ARGV.named.empty? + if ARGV.include?("--all") || ARGV.named.empty? + unless ARGV.include? "--all" + opoo <<-EOS.undent + brew upgrade with no arguments will change behaviour soon! + It currently upgrades all formula but this will soon change to require '--all'. + Please update any workflows, documentation and scripts! + EOS + end outdated = Homebrew.outdated_brews(Formula.installed) exit 0 if outdated.empty? - else + elsif ARGV.named.any? outdated = Homebrew.outdated_brews(ARGV.formulae) (ARGV.formulae - outdated).each do |f| @@ -20,6 +27,11 @@ module Homebrew end end exit 1 if outdated.empty? + else + # This will currently never be reached but is implemented to make the + # migration to --all easier in the future (as just the ARGV.named.empty? + # will need removed above). + odie "Either --all or one or more formulae must be specified!" end unless upgrade_pinned? diff --git a/Library/Homebrew/manpages/brew.1.md b/Library/Homebrew/manpages/brew.1.md index 8f1f2b161..57c49cae9 100644 --- a/Library/Homebrew/manpages/brew.1.md +++ b/Library/Homebrew/manpages/brew.1.md @@ -390,11 +390,15 @@ Note that these flags should only appear after a command. If `--rebase` is specified then `git pull --rebase` is used. - * `upgrade [install-options]` [<formulae>]: + * `upgrade [--all] [install-options]` [<formulae>]: Upgrade outdated, unpinned brews. Options for the `install` command are also valid here. + If `--all` is passed, upgrade all formulae. This is currently the same + behaviour as without `--all` but soon `--all` will be required to upgrade + all formulae. + If <formulae> are given, upgrade only the specified brews (but do so even if they are pinned; see `pin`, `unpin`). diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index 8981bbdff..52b695e83 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -415,13 +415,16 @@ Fetch the newest version of Homebrew and all formulae from GitHub using \fBgit\f If \fB\-\-rebase\fR is specified then \fBgit pull \-\-rebase\fR is used\. . .TP -\fBupgrade [install\-options]\fR [\fIformulae\fR] +\fBupgrade [\-\-all] [install\-options]\fR [\fIformulae\fR] Upgrade outdated, unpinned brews\. . .IP Options for the \fBinstall\fR command are also valid here\. . .IP +If \fB\-\-all\fR is passed, upgrade all formulae\. This is currently the same behaviour as without \fB\-\-all\fR but soon \fB\-\-all\fR will be required to upgrade all formulae\. +. +.IP If \fIformulae\fR are given, upgrade only the specified brews (but do so even if they are pinned; see \fBpin\fR, \fBunpin\fR)\. . .TP |
