Users were seeing local changes in their repository after updating, even
though they had made no local changes.
The repository setup sequence should use `git reset --soft` rather than
vanilla `git reset`, which defaults to '--mixed'. '--soft' updates
_only_ HEAD, leaving the index as-is, allowing future incantations of
`brew update` to proceed without errors.
FixesHomebrew/homebrew#6732.
The output happens as it is determined, rather than all at once, which is preferable for CLI commands. This meant I had to hard-code the left-justification.
The pre-amble warning is removed. Instead the command outputs the git checkout command for each she that you can type to get that old formula.
I decided that reseting the one file will work 99% of the time and that it is too risky to reset the whole repo, this will roll-back bug fixes. Instead we should add functionality to compat/ in order to support old formula as required. Sometimes deps may have to be rolled-back too, but the user will have to figure this out on an ad-hoc basis. We are assuming a failure sophisticated user anyway, one who would like to get old versions of stuff.
I moved most of the functions into Formula since IMO this makes more conceptual sense.
I made the she get abbreviated by git (using --abbrev-commit) itself so it as short as can be.
Provided the user installed with our installer anyway. It creates all the directories that Homebrew will need during its life thus negating the need for root writability.
This is needed for Ruby 1.9.x compatibility, but we still don't support
running Homebrew with anything other than a system provided 1.8.[67].
FixesHomebrew/homebrew#6546
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
All Apache Formulae should be updated to use the closer.vgi script
to specify downloads rather than a random mirror that could be out
of date or compromised. Apache's closer.cgi does periodic health
checks.
The base URL for the mirror system is
http://www.apache.org/dyn/closer.cgi?path=#{filepath}
e.g.:
http://www.apache.org/dyn/closer.cgi?path=/couchdb/1.0.3/apache-couchdb-1.0.3.tar.gz
Note: The addition of the "Actually downloading..." message is sub-optimal
as the message should probably be emitted in _fetch() rather than fetch(),
but I didn't want to change the way Homebrew works today, so I'm leaving
this for mxcl & team to sort out or adopt :)
Currently, `brew doctor` complains about GREP_OPTIONS being set,
regardless of its value. The cmake formula, for which this check was
introduced, is more specific about what actually makes it fail.
GREP_OPTIONS='--color=auto' will not cause the build to fail, so don't
warn about this.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
XCode 4.x only includes GCC 4.2. Therefore, having `brew doctor` report that
GCC 4.0 is missing only spreads fear, uncertainty and doubt over a situation
that is status quo.
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
FixesHomebrew/homebrew#6065.
My pre-emptive fix that avoided calling Pathname.ensure_writable because I was not convinced it worked broke this function due to incorrect logic.
The lesson is, don’t write pre-emptive fixes. Wait until you've seen the bug first. All code has bugs in, so write less. I'm an idiot sometimes.