After formula updates its bottle block, remove itself from changed
formulae list. Therefore, if it's requested next time as dependency, it
will be installed from bottle just created.
ClosesHomebrew/homebrew#48121.
Signed-off-by: Xu Cheng <xucheng@me.com>
This feature is still quite useful, particularly because of the somewhat
buggy behaviour of `default_formula` which means when attempting to build
a bottle it'll attempt to force the installation of that formula.
That is particularly problematic for taps like homebrew/homebrew-fuse because
the `default_formula` in osxfuse conflicts with the osxfuse binary we install
via the Caskroom, which is actively breaking every CI build.
ClosesHomebrew/homebrew#48000.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
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"`.
There are plenty of IO operations inside Tap object, and it will be more
when implementing formula alias reverse look up(e.g. list all of alias
names for a formula). So let's cache them.
Some benchmark:
$ time brew info $(brew ruby -e 'puts Formula.tap_names') > /dev/null
Before: 6.40s user 2.42s system 96% cpu 9.134 total
After: 4.75s user 0.77s system 97% cpu 5.637 total
ClosesHomebrew/homebrew#44377.
Signed-off-by: Xu Cheng <xucheng@me.com>
When a PR is merged during the test, the commit tree will be looked like
this:
master PR
\ /
\ /
|
root
The start_revision will be poined to the commit used to merging PR,
instead of common root commit. As result, `git diff-tree start end`
will list file changes both in PR and master branch, which later
contributes to additional formulae are tested in some Travis builds.
To fix the problem, we use `git merge-base` to get common ancestor as
the real start_revision.
ClosesHomebrew/homebrew#44379.
Signed-off-by: Xu Cheng <xucheng@me.com>