`brew tap` restricts users to GitHub and checks for private repos. I
created `brew any-tap` to support a wider variety of taps.
With very small changes (and no extra flags!), this change allows users
to use `brew tap` with GitHub as they always have or add one extra
argument and tap any repository of any type from anywhere.
brew tap user/name # Same as it ever was
brew tap user/name URL # Tap URL, whatever it happens to be
ClosesHomebrew/homebrew#40326.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
There is always a git executable on PATH due to the git wrapper in
Library/Contributions/cmd. The wrapper will notify the user if there is
not a real git installed.
This should be a temporary workaround until we get a grip on some
Mavericks/Xcode 5.0 issues with e.g. ghc and go (stuff in core
that currently needs GCC at runtime). These formulae both have
Clang fixes in development.
Things that needs GCC at compile-time should be booted from core.
References Homebrew/homebrew#22872.
References Homebrew/homebrew-dupes#229
Currently `brew tap` only works on repos with 'homebrew-' in their name.
This version tries the repo name as is and then falls back to try
'homebrew-repo' only if that fails.
I've also tweaked the regex in tap_args to allow '-' in repo names. The
previous regex required a match on \w. This made it impossible for people
to tap repos with names like 'username/why-not'.
ClosesHomebrew/homebrew#18366.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This stuff sucks. I'd like to just replace the dash with a directory division or tilde character. But this makes the code even more complicated, unless we can figure out how to migrate the taps.
We allow homebrew/dupes for instance, rather than Homebrew/dupes. Because nobody likes shifting in the terminal.
In the process of doing this I discovered some case-insensitive filesystem bugs we have avoided before because I had the foresight to mandate lowercase in formula names. GitHub considers Homebrew and homebrew to be different (even though you can't create both). So we had to allow case insensitivity in tap input. I have made it now so the resulting directory however is lowercased, neatly avoiding the issue. And so we also downcase tap arguments when applying them to tap directories or formula.