From 5012a45cf37f94829ab678f32f714520aceadb62 Mon Sep 17 00:00:00 2001 From: Adam Vandenberg Date: Sun, 27 Apr 2014 10:57:46 -0700 Subject: [PATCH] brew list --versions --multiple With --multiple, only list formulae with multiple versions installed. --- Library/Contributions/manpages/brew.1.md | 5 +++-- Library/Homebrew/cmd/list.rb | 1 + share/man/man1/brew.1 | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 3bfd19e996..be2f8c98c4 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -227,7 +227,7 @@ Note that these flags should only appear after a command. If provided, `--local` will move them into the user's `~/Applications` folder instead of the system folder. It may need to be created, first. - * `ls, list [--unbrewed] [--versions] [--pinned]` []: + * `ls, list [--unbrewed] [--versions [--multiple]] [--pinned]` []: Without any arguments, list all installed formulae. If are given, list the installed files for . @@ -238,7 +238,8 @@ Note that these flags should only appear after a command. by Homebrew. If `--versions` is passed, show the version number for installed formulae, - or only the specified formulae if are given. + or only the specified formulae if are given. With `--multiple`, + only show formulae with multiple versions installed. If `--pinned` is passed, show the versions of pinned formulae, or only the specified (pinned) formulae if are given. diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index c624040edf..8952f48732 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -63,6 +63,7 @@ module Homebrew extend self ARGV.named.map{ |n| HOMEBREW_CELLAR+n }.select{ |pn| pn.exist? } end.each do |d| versions = d.children.select{ |pn| pn.directory? }.map{ |pn| pn.basename.to_s } + next if ARGV.include?('--multiple') && versions.count < 2 puts "#{d.basename} #{versions*' '}" end end diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index 756b431065..def92b3997 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BREW" "1" "March 2014" "Homebrew" "brew" +.TH "BREW" "1" "April 2014" "Homebrew" "brew" . .SH "NAME" \fBbrew\fR \- The missing package manager for OS X @@ -242,7 +242,7 @@ Find all installed formulae that have compiled \fB\.app\fR\-style "application" If provided, \fB\-\-local\fR will move them into the user\'s \fB~/Applications\fR folder instead of the system folder\. It may need to be created, first\. . .TP -\fBls, list [\-\-unbrewed] [\-\-versions] [\-\-pinned]\fR [\fIformulae\fR] +\fBls, list [\-\-unbrewed] [\-\-versions [\-\-multiple]] [\-\-pinned]\fR [\fIformulae\fR] Without any arguments, list all installed formulae\. . .IP @@ -252,7 +252,7 @@ If \fIformulae\fR are given, list the installed files for \fIformulae\fR\. Combi If \fB\-\-unbrewed\fR is passed, list all files in the Homebrew prefix not installed by Homebrew\. . .IP -If \fB\-\-versions\fR is passed, show the version number for installed formulae, or only the specified formulae if \fIformulae\fR are given\. +If \fB\-\-versions\fR is passed, show the version number for installed formulae, or only the specified formulae if \fIformulae\fR are given\. With \fB\-\-multiple\fR, only show formulae with multiple versions installed\. . .IP If \fB\-\-pinned\fR is passed, show the versions of pinned formulae, or only the specified (pinned) formulae if \fIformulae\fR are given\. See also \fBpin\fR, \fBunpin\fR\.