aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2009-09-29 21:17:44 +0100
committerMax Howell2009-09-30 18:11:49 +0100
commita18bc0ffec12a35a13259b5bf56ca1832d4b3cd1 (patch)
tree28b885df824026dacf610584340e56ad38794cf3
parent1faae0ee2c8037dbe0fbfd6c5db56e1cf5c582ae (diff)
downloadhomebrew-a18bc0ffec12a35a13259b5bf56ca1832d4b3cd1.tar.bz2
brew list --unbrewed fix
Determine all directories that aren't Homebrew ones. Exec find. I prefer to keep short stuff in bin/brew so people reading the code have a better idea of what happens, and what sort of functions are useful for the sorts of things we do with Homebrew.
-rw-r--r--Library/Homebrew/brew.h.rb6
-rwxr-xr-xbin/brew6
2 files changed, 5 insertions, 7 deletions
diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb
index 5ff3ad195..a67e8c84d 100644
--- a/Library/Homebrew/brew.h.rb
+++ b/Library/Homebrew/brew.h.rb
@@ -289,12 +289,6 @@ def versions_of(keg_name)
end
-# Taken from the homebrew wiki (http://wiki.github.com/mxcl/homebrew)
-def unbrewed_files
- `cd #{HOMEBREW_PREFIX}; find bin etc include lib man share -type f \\( ! -iname ".ds_store" ! -iname "brew" \\)`
-end
-
-
########################################################## class PrettyListing
class PrettyListing
def initialize path
diff --git a/bin/brew b/bin/brew
index b3a1a3c82..60496dd54 100755
--- a/bin/brew
+++ b/bin/brew
@@ -40,7 +40,11 @@ begin
when 'ls', 'list'
if ARGV.flag? '--unbrewed'
- puts unbrewed_files
+ # Taken from the homebrew wiki (http://wiki.github.com/mxcl/homebrew)
+ dirs = HOMEBREW_PREFIX.children.select { |pn| pn.directory? }.collect { |pn| pn.basename.to_s }
+ dirs -= ['Library', 'Cellar', '.git']
+ Dir.chdir HOMEBREW_PREFIX
+ exec 'find', *dirs + %w[-type f ( ! -iname .ds_store ! -iname brew )]
elsif ARGV.named_empty?
ENV['CLICOLOR']=nil
exec 'ls', *ARGV.options<<HOMEBREW_CELLAR