To use origin/master as start commit
brew update-test
To use <sha1> as start commit
brew update-test --commit=<sha1>
To use commit at <date> as start commit
brew update-test --before=<date>
Also print start/end commit for debug purpose
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.
* Include install option --without-docs to disable creation of docs
* Include patch to successfully find osx dylibs and ignore glib static libs
* Remove mydumper from tap_migrations.rb
ClosesHomebrew/homebrew#45892.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
While it may suffice to merge string and non-reserved tags by forming a
union of all tags of dependencies of the same name, this approach fails
to work for the reserved tags. These are now merged such that the most
restrictive tag (meaning sometimes an empty tag) is preserved.
The previous behavior caused essential dependencies to be omitted and
builds to fail in response. E.g., multiple `:fortran` dependencies with
tags `[]`, `[:recommended]`, and `[:optional]` would have been expanded
and merged to `"gcc"` with tags `[:recommended, :optional]`, causing it
to be no longer seen as a required dependency.
ClosesHomebrew/homebrew#47040.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
The general idea is that merging multiple dependencies of the same name
should produce the strictest tag instead of a (meaningless) union of the
reserved tags. For example, if a dependency is both a `:recommended` and
an `:optional` dependency at different points in the dependency tree,
the resulting merged dependency should be tagged as `:recommended`.
Handle all other reserved tags in the same spirit.
These tests were using too much semi-global state (instance variables)
and relied unnecessarily on the exact number of calls to `optional?` and
`recommended?` in the `Depedable` module.
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>
This means that dependencies can be merged but still maintain all
their option names.
ClosesHomebrew/homebrew#46916.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Without this the returned string is not as accurate if the method is
called with an int larger than 120.
ClosesHomebrew/homebrew#47002.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
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>
All other commands document both `--dry-run` and `-n` in the option
description and mention only `--dry-run` in the command summary. Let's
do the same for `cleanup`.
ClosesHomebrew/homebrew#46942.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Make both `--version` and `-v` print the Homebrew version and exit, if
provided as first and sole argument. `brew --version` no longer accepts
additional arguments (they were previously ignored). Otherwise interpret
`brew -v <arguments>` as if `brew <arguments> -v` was executed instead
(no change here), but no longer print a line with the Homebrew version.
ClosesHomebrew/homebrew#46790.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
All other alternatives already don't use spaces around the pipe symbol.
ClosesHomebrew/homebrew#46825.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Restore definition list in `COMMANDS` section, thus massively improve
formatting. In theory, `ronn` supports nested (definition) lists. In
practice, this does not work (and is unlikely to be fixed soon because
upstream seems to be rather inactive) causing the entire definition list
to be longer recognized because of a single nested list. Work around by
rearranging the `tap` documentation (sole command with a nested list).
Raise an error when attempting to create universal binaries with a GCC
that can't do so.
ClosesHomebrew/homebrew#46630.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
`Formula-Cookbook.md` contains leftover git conflict markers introduced
in 15f291ddaa05cc010456a733b799382175c29dd4.
This commit removes the conflict makers and a duplicated paragraph.
ClosesHomebrew/homebrew#46836.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>