Until we figure out how to allow --tree to show optional dependencies in
a way that fits on a normal screen, this helps to explain the
discrepancy between `brew deps` and `brew deps --tree`.
ClosesHomebrew/homebrew#41841.
ClosesHomebrew/homebrew#41947.
The default behavior of `brew deps foo bar` is to return the
intersection of the deps of foo and bar. This option returns the union.
ClosesHomebrew/homebrew#27480.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
When deps command is passed this option, it will only show the dependencies
for the installed forumas. This option overrides the '--all' option.
ClosesHomebrew/homebrew#18276.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
It is important that dep equality corresponds to the name attribute, but
we may want to use the Comparable interface to sort them by installation
order in the future. Code that needs to sort them alphabetically should
just use sort_by.
The code was sucking. To the extent that maintenance was hard. It's a lot
easier to work with code that is sensibly split at sensible boundaries. So
now it is more like that.
But the refactor is minimal. Because we don't want you to have more merge
hell than absolutely necessary.
If you merge you will need to pay attention to brew.h.rb (as it is deleted)
and bin/brew (as command logic is gone). It will be painful, but you will just
have to help git out by moving any changes around manually.
Note compatibility.rb. It ensures that any function renames or removals don't
break anything. We're pretty serious about backwards compatibility. And that's
because we encourage you to hack around with the innards. And we couldn't do
that if we would then just make stuff disappear behind your back.