
Tap pinning is not used by Homebrew or the Homebrew maintainers so issues relating to pinned taps (#5418, #5796) don’t get fixed. Tap pinning does not work consistently or reliably and is conceptually confusing to encourage users to use fully-scoped user/tap/formula naming or avoid shadowing core tap formulae' names instead.
34 lines
665 B
Ruby
34 lines
665 B
Ruby
require "cli_parser"
|
|
|
|
module Homebrew
|
|
module_function
|
|
|
|
def tap_pin_args
|
|
Homebrew::CLI::Parser.new do
|
|
usage_banner <<~EOS
|
|
`tap-pin` <tap>
|
|
|
|
Pin <tap>, prioritising its formulae over core when formula names are supplied
|
|
by the user. See also `tap-unpin`.
|
|
EOS
|
|
switch :debug
|
|
hide_from_man_page!
|
|
end
|
|
end
|
|
|
|
def tap_pin
|
|
odeprecated "brew tap-pin user/tap",
|
|
"fully-scoped user/tap/formula naming"
|
|
|
|
tap_pin_args.parse
|
|
|
|
ARGV.named.each do |name|
|
|
tap = Tap.fetch(name)
|
|
raise "pinning #{tap} is not allowed" if tap.core_tap?
|
|
|
|
tap.pin
|
|
ohai "Pinned #{tap}"
|
|
end
|
|
end
|
|
end
|