- Use empty array when `git credential-osxkeychain` lookup fails to
cache and avoid rerunning it when there's no valid results.
- Redirect `stderr` to avoid printing errors when there's a failure
or no `git credential-osxkeychain` installed.
ClosesHomebrew/homebrew#49954.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Per document:
> -f, --force
> When git fetch is used with <rbranch>:<lbranch> refspec, it refuses
> to update the local branch <lbranch> unless the remote branch
> <rbranch> it fetches is a descendant of <lbranch>. This option
> overrides that check.
If it's not a tap, we test formula on CoreTap. This can happen
if we run test on a fork, e.g. Linuxbrew or future Homebrew/brew.
ClosesHomebrew/homebrew#49844.
Signed-off-by: Xu Cheng <xucheng@me.com>
MLton is whole-program, optimizing compiler for Standard ML.
A previous mlton formula simply installed the upstream binary release
and was moved to the boneyard as a binary-only formula (see
Homebrew/homebrew#21780).
This new mlton formula builds from source, using the upstream binary
release to bootstrap.
ClosesHomebrew/homebrew#48694.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
These methods will be used in `brew --version`, `brew config`
and `brew doctor` after core/formula separation.
ClosesHomebrew/homebrew#49796.
Signed-off-by: Xu Cheng <xucheng@me.com>
This commit will help to mitigate bug Homebrew/homebrew#42553 on certain old Homebrew installations
(e.g. `osx_image: xcode6.4` on Travis CI) for future core/formula
separation.
On that particular Homebrew installations, `formulary.rb` will be loaded after
`git pull` is finished during `brew update`, which will then load `core_formular_repository.rb`.
By introducing `require "tap_migrations"` and `require "formula_renames"` at the top of
`core_formular_repository.rb`, we could use `tap_migrations.rb` as a
vector to preform certain hack for future core/formula separation.
If a formula's class name contains an uppercase-spelled acronym, the
messages given by `brew install` can be pretty confusing (it recommends
a formula named exactly the same…)
ClosesHomebrew/homebrew#49639.
Signed-off-by: Tim D. Smith <git@tim-smith.us>
Based on recent feedback on some pull requests, I touched up the section about adding tests to formula.
I wanted to make it clearer that the examples demonstrate how to create files on the fly and add a pointer to the tinyxml2 formula (DomT4 pointed it out to me as a good example).
ClosesHomebrew/homebrew#49641.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
Follow-up to Homebrew/homebrew#49327 that leaves empty argument handling to the Ruby code
(it is a bit more sophisticated and distinguished between `help` and an
empty argument list and treats them differently) instead of hard-wiring
the former to the `help` command.
ClosesHomebrew/homebrew#49538.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Because the versions are read from directory listings, we get
alphabetical sorts of version numbers in `brew outdated` output:
some-keg (10.1.10, 10.1.11, 10.1.9 < 10.1.12)
This is nicer:
some-keg (10.1.9, 10.1.10, 10.1.11 < 10.1.12)
ClosesHomebrew/homebrew#49534.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
The current approach of suppressing all output regardless of what the
error is makes it very hard to debug any issues and misread but valid
Mach-O files will be silently interpreted as non-Mach-O files instead.
Prefer to fail if we are a Homebrew developer or running on the bot
(`HOMEBREW_DEVELOPER=1`), so that problems will be noticed and fixed
before the silent failure leads to hard-to-diagnose user problems.
ClosesHomebrew/homebrew#48817.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
* Better variable/class name. `update-report` isn't response to actual
update.
* Use abstraction offered by Reporter and ReproterHub class.
* Failure on one tap won't affect migration preformed by other taps.
* Simplify logic and prepare for core/formula separation.
* Better variable/class name.
* Remove obsolete update_renamed, this is now handled inside each
reporter.
* Remove obsolete formula file path to name computation, which is also
handled by reporter.
* Hide low lever implementation detail to offer better abstraction.
Use `add(reporter)` instead of `Hash#update` to add new report.
* Avoid tons of unnecessary file path manipulation. Use abstraction
offered by Tap class if possible.
* Handle formula rename/tap migration inside reporter in per tap basis.
* Avoid duplicated computation.
* Remove redundant/dead code.
* Use `Tap#formula_dir` instead of `Tap#formula_files` to find formula
file to have better performance and avoid caching issue.
* Change the loader logic to search name -> search alias -> search old name.
This is more consistence with what we do when loading core formula
file.
ClosesHomebrew/homebrew#49484.
Signed-off-by: Xu Cheng <xucheng@me.com>