Return true if given path would present a Formula file in this Tap.
Accepts both absolute path and relative path (relative to this Tap's path)
It offer an abstraction such that caller would not need to worry about
low level file system in the tap.
It will be used in `brew pull` and `brew update`.
ClosesHomebrew/homebrew#49191.
Signed-off-by: Xu Cheng <xucheng@me.com>
`Formula[name]` gets called with an unqualified name and thus will throw
`TapFormulaAmbiguityError` exceptions (silently ignored) if both the old
and the new tap are present and changes for the new tap are pulled
before the migrated formulae are removed from the old tap.
The result is an empty or incomplete `changed_formulae`, causing issues
with pulling the corresponding bottles and possibly other problems, too.
For users whose local brew is at around 2015-06-11 to 2015-08-06,
running `brew update` will emit following error:
Error: uninitialized constant Formulary::CoreFormulaRepository
This is caused by the same bug described in Homebrew/homebrew#42553.
This commit workarounds this issue and restores `brew update` compatibility
for users mentioned above.
Also cleanup legacy `require "cmd/tap"`.
```
Fast-forward
Library/Formula/ant.rb | 8 ++++----
Library/Formula/nailgun.rb | 10 +++++-----
2 files changed, 9 insertions(+), 9 deletions(-)
Deleted branch pull-bottle-45902 (was 1fdb73d).
==> Publishing on Bintray:
{"files":3}
==> Publishing on Bintray:
Error: Failure while executing
```
In that case, "jetty-runner" is bottle unneeded, but because I've passed the
pull bottle command for the other two formulae, it attempts to publish a bottle
that isn't there.
Use an exponential back-off on the sleep and try the fetch more times.
Hopefully this will mean that we spent less time waiting for Bintray.
ClosesHomebrew/homebrew#43240.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
At the moment, every time I pull a new formulae from a tap, I have to
fetch it with the fully qualified name, `brew fetch
homebrew/versions/duck123 `, which is fine, but then I also have to
install, test, and audit it in the same way, which isn’t fixed until I
tap repair, which gets a bit onerous.
This just adds a step to `brew pull` where it does the tap repair
automatically for taps.
ClosesHomebrew/homebrew#37788.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>