Merge pull request #2470 from johnhawkinson/conflicts-info

Display formula conflict reasons
This commit is contained in:
Mike McQuaid 2017-05-16 08:45:45 +01:00 committed by GitHub
commit aeaf9af711
2 changed files with 11 additions and 3 deletions

View File

@ -123,8 +123,16 @@ module Homebrew
puts f.desc if f.desc
puts Formatter.url(f.homepage) if f.homepage
conflicts = f.conflicts.map(&:name).sort!
puts "Conflicts with: #{conflicts*", "}" unless conflicts.empty?
conflicts = f.conflicts.map do |c|
reason = " (because #{c.reason})" if c.reason
"#{c.name}#{reason}"
end.sort!
unless conflicts.empty?
puts <<-EOS.undent
Conflicts with:
#{conflicts.join(" \n")}
EOS
end
kegs = f.installed_kegs.sort_by(&:version)
if kegs.empty?

View File

@ -2366,7 +2366,7 @@ class Formula
end
# If this formula conflicts with another one.
# <pre>conflicts_with "imagemagick", :because => "because this is just a stupid example"</pre>
# <pre>conflicts_with "imagemagick", :because => "because both install 'convert' binaries"</pre>
def conflicts_with(*names)
opts = names.last.is_a?(Hash) ? names.pop : {}
names.each { |name| conflicts << FormulaConflict.new(name, opts[:because]) }