diff options
| author | Mike McQuaid | 2017-02-20 14:05:40 +0000 | 
|---|---|---|
| committer | Mike McQuaid | 2017-02-21 15:36:50 +0000 | 
| commit | 68bd744d0e44e40a5e3269bb16030134d937a524 (patch) | |
| tree | c9b23afc29a9663a23d3c34474a5520d14d3f03b | |
| parent | 606790d06284df4765128117269c06a4df7e197c (diff) | |
| download | brew-68bd744d0e44e40a5e3269bb16030134d937a524.tar.bz2 | |
readall: check for shadowed aliases.
This will become particularly relevant when there’s a new version of a
formula and the existing alias needs to be removed.
| -rw-r--r-- | Library/Homebrew/readall.rb | 19 | 
1 files changed, 9 insertions, 10 deletions
| diff --git a/Library/Homebrew/readall.rb b/Library/Homebrew/readall.rb index 3dd7075ec..52addfa87 100644 --- a/Library/Homebrew/readall.rb +++ b/Library/Homebrew/readall.rb @@ -24,16 +24,15 @@ module Readall        !failed      end -    def valid_aliases?(alias_dirs) +    def valid_aliases?(alias_dir, formula_dir) +      return false unless alias_dir.directory? +        failed = false -      alias_dirs.each do |alias_dir| -        next unless alias_dir.directory? -        alias_dir.children.each do |f| -          next unless f.symlink? -          next if f.file? -          onoe "Broken alias: #{f}" -          failed = true -        end +      alias_dir.each_child do |f| +        next unless f.symlink? +        next if f.file? && !(formula_dir/"#{f.basename}.rb").exist? +        onoe "Broken alias: #{f}" +        failed = true        end        !failed      end @@ -57,7 +56,7 @@ module Readall      def valid_tap?(tap, options = {})        failed = false        if options[:aliases] -        valid_aliases = valid_aliases?([tap.alias_dir]) +        valid_aliases = valid_aliases?(tap.alias_dir, tap.formula_dir)          failed = true unless valid_aliases        end        valid_formulae = valid_formulae?(tap.formula_files) | 
