diff options
| author | Jack Nagel | 2014-03-15 12:55:14 -0500 | 
|---|---|---|
| committer | Jack Nagel | 2014-03-15 12:55:14 -0500 | 
| commit | 088c774d87edafd805735a9c4b0a1a25dc11b42c (patch) | |
| tree | 5e34c1f3990d0af05104f0cc7c3ca8c1ff7080af | |
| parent | 30b4961dde355b03fc9d53f494c7a9a8910df333 (diff) | |
| download | brew-088c774d87edafd805735a9c4b0a1a25dc11b42c.tar.bz2 | |
diy: warn when detected name is an alias
cf. Homebrew/homebrew#22778.
| -rw-r--r-- | Library/Homebrew/cmd/diy.rb | 27 | 
1 files changed, 21 insertions, 6 deletions
| diff --git a/Library/Homebrew/cmd/diy.rb b/Library/Homebrew/cmd/diy.rb index fa1822c0e..fa2304dda 100644 --- a/Library/Homebrew/cmd/diy.rb +++ b/Library/Homebrew/cmd/diy.rb @@ -1,3 +1,5 @@ +require "formula" +  module Homebrew extend self    def diy      %w[name version].each do |opt| @@ -18,12 +20,8 @@ module Homebrew extend self      end      name = ARGV.value "name" -    name ||= if ARGV.include? "--set-name" -      ARGV.next -    else -      basename = path.basename.to_s -      basename[/(.*?)-?#{Regexp.escape(version)}/, 1] || basename -    end +    name ||= ARGV.next if ARGV.include? "--set-name" +    name ||= detected_name(path, version)      prefix = HOMEBREW_CELLAR/name/version @@ -35,4 +33,21 @@ module Homebrew extend self        raise "Couldn't determine build system"      end    end + +  def detected_name(path, version) +    basename = path.basename.to_s +    detected_name = basename[/(.*?)-?#{Regexp.escape(version)}/, 1] || basename +    canonical_name = Formula.canonical_name(detected_name) + +    odie <<-EOS.undent if detected_name != canonical_name +      The detected name #{detected_name.inspect} exists in Homebrew as an alias +      of #{canonical_name.inspect}. Consider using the canonical name instead: +        brew diy --name=#{canonical_name} + +      To continue using the detected name, pass it explicitly: +        brew diy --name=#{detected_name} +      EOS + +    detected_name +  end  end | 
