This is less than ideal but it gets the time on my machine down from ~6s
to ~2s when checking no taps. It still shows that we're doing way more
in `update.sh` than we need to be doing but that's a future PR.
If a requirement is for a dependent that's already installed and that
dependency is not using a `default_formula` (which would have already
been converted from a `Requirement` to `Dependency` at this stage) then
we want to stop it killing the build.
Read the discussion in https://github.com/Homebrew/homebrew-core/pull/3703. If you
have a better idea, please file a competing PR. I'm sick to death of discussion.
Closes#662.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Additionally include our bootstrap code in `brew.sh`, Bash utilities in
`utils.sh` and `utils/*.sh`, `superenv` shims, and the Bash completion.
Closes#654.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Doesn't feel like a good reason to abort installation for users if the
formula author has specified a conflict that doesn't exist. Instead,
behave more like the `TapFormulaUnavailableError` but print a message
telling people to report to the formula authors.
Closes https://github.com/Homebrew/homebrew-versions/issues/1327
Introduce `--fetch-HEAD` option. Without this option upgrade and
outdated never fetch latest upstream commit to detect if HEAD is
outdated -- tabs are used instead. However, if option is passed,
we fetch commit from upstream, which is more time consuming,
but we can be sure that version is up-to-date or outdated.
* add `latest_head_version` to return latest HEAD version installed
* add `latest_head_prefix` to return Pathname with latest HEAD version
* add `head_version_outdated?` to check if HEAD version is up-to-date
If we try to call `Formulary.from_keg(f, :head)` on the keg that
is not HEAD-keg itself, we don't need to update commit of
returned formula and should use just HEAD version with nil commit.
Same is true for `ARGV.resolved_formulae`
This basically started once our integration tests caused the overall
test time to raise above 10 minutes, causing some coverage data to be
dropped because SimpleCov believed it to be stale.
When running on Travis CI, both the Linux and macOS build will send a
coverage report, causing them to be merged by Coveralls. This results
in inferior coverage due to the early stage of the Linux-specific tests
and is probably not what we want. Make sure we only send a report for
macOS (assuming we stick with a single macOS build in `.travis.yml`).
No longer output every cask under the list of changed formulae but
instead create a dedicated, unprinted report section for casks and then
iterate through that instead.