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"`.
Let's hide implementation detail on where to find alias directory.
This will benefit future core code and formulae separation.
Also let `brew readall` check aliases for all taps.
This commit partial reverts beed39e46fa021dd1c133c2c8eaaa81b524e68c7.
For users whose local brew is at around 2015-06-02 to 2015-06-11,
running `brew update` will emit following error:
Error: undefined method 'full_version' for OS::Mac:Module
This is caused by the same bug described in Homebrew/homebrew#42553.
Let's use `MACOS_FULL_VERSION` for now to restore `brew update` compatibility
for these users.
TODO: revert this commit after core code and formulae separation.
I've set all the variable data to versions that are dependent on the
latest source file date and various modification dates also to the
latest source file date. With this if you rerun `brew bottle`
multiple times in a row you will see the same checksum even if you have
`brew reinstall`ed (as long as upstream does not hardcode e.g. the
build date).
I debugged this with diffoscope and worked on this as part of the
Athens 2015 reproducible builds workshop:
https://reproducible-builds.org/events/athens2015/ClosesHomebrew/homebrew#46587.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Also use `popen_read` instead of `safe_system` for cleaner argument
passing and write the output with `atomic_write`.
ClosesHomebrew/homebrew#46826.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Users with local changes and without a configured Git identity won't be
able to update Homebrew via `brew update`, as the update will fail when
trying to stash the local modifications with `git stash`. They will be
unable to proceed until they follow Git's advice to configure their
identity or they manage to revert their local changes.
This change always sets a commit e-mail and name, avoiding this issue. A
nice bonus is that experienced Git users can see who created the stash
commit (identifying `brew update` as the author).
FixesHomebrew/homebrew#46930.
ClosesHomebrew/homebrew#46939.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Do a reset to `origin/master` and then stash but don't pop the stash
after running update (unless you were on a branch). This may be mildly
more annoying for Homebrew developers but means it's easier for our
users who don't understand Git (and particularly when they don't
understand that every tap is a separate Git repository).
ClosesHomebrew/homebrew#45825.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Adds a summary file and description to get more informative displays on gist.github.com.
ClosesHomebrew/homebrew#45023.
Signed-off-by: Andrew Janke <andrew@apjanke.net>