Skip to content
Commits on Feb 4, 2016
  1. @tdsmith

    use BSD stat

    tdsmith committed
    Closes #48803.
Commits on Jan 26, 2016
  1. @UniqMartin

    bin/brew: add support for developer bash commands

    UniqMartin committed
    This also means `bin/brew` is again consistent with `brew command` and
    `brew commands`.
  2. @UniqMartin

    bin/brew: put commands into 'homebrew-' namespace

    UniqMartin committed
    This should help to avoid collisions with external commands and other
    shell functions in the future and is closer to what we do in Ruby, where
    commands are namespaced by being methods of the `Homebrew` module.
  3. @UniqMartin

    bin/brew: don't pass command name to bash commands

    UniqMartin committed
    We have asserted before that the 1st argument is the command name. No
    need to pass it to the bash command, which will make the argument
    handling for the command itself a bit easier.
  4. @UniqMartin

    bin/bash: don't require executable command files

    UniqMartin committed
    Commands implemented in shell (bash) are supposed to be sourced from
    `bin/bash` instead of being executed directly. Consequently, don't
    expect the implementation files to be executable.
Commits on Jan 20, 2016
  1. @xu-cheng
  2. @xu-cheng

    bin/brew: use full path for xcode-select

    xu-cheng committed
    Closes #48197.
    Signed-off-by: Xu Cheng <>
  3. @xu-cheng

    bin/brew: remove unpin from sudo check list

    xu-cheng committed
    We only need to check sudo for commands which create files.
  4. @xu-cheng
  5. @xu-cheng
  6. @xu-cheng
  7. @xu-cheng

    bin/brew: remove unnecessary check

    xu-cheng committed
    HOMEBREW_BASH_COMMAND variable will always exist. So we only need to
    check whether the corresponding file exist or not.
  8. @xu-cheng

    bin/brew: fix incorrect argument manipulation

    xu-cheng committed
    Shifting `-v` argument is all we need to do. We shouldn't enumerate
Commits on Jan 18, 2016
  1. @mikemcquaid

    bin/brew: use a function to avoid issues.

    mikemcquaid committed
    Otherwise when `bin/brew` is updated in-place Bash will carry on from
    the offset and this can cause issues.
    Thanks to `@UniqMartin` for pointing this out.
Commits on Jan 17, 2016
  1. @mikemcquaid
  2. @mikemcquaid
  3. @mikemcquaid
Commits on Dec 23, 2015
  1. @UniqMartin

    bin/brew: enforce UTF-8 locale

    UniqMartin committed
    Everyone should be using a UTF-8 locale nowadays. Not using one causes
    issues like `brew doctor` failing while checking symbolic links that
    point at file names with non-ASCII characters, since OS X always uses
    Unicode for the file system.
    Rely on `locale charmap` to detect the currently selected encoding and
    if that's not UTF-8, override the user's choice (if any) by setting
    `LC_ALL` to `en_US.UTF-8`, the assumption being that every system has a
    usable `en_US.UTF-8` locale installed.
    Fixes #44744.
    Closes #47247.
    Signed-off-by: Martin Afanasjew <>
Commits on Dec 1, 2015
  1. @UniqMartin

    bin/brew: avoid unnecessary 'readlink' invocation

    UniqMartin committed
    For typical installations where `brew` is not a symbolic link, this
    reduces the number of processes that need to be spawned.
    Closes #46269.
    Signed-off-by: Martin Afanasjew <>
  2. @UniqMartin

    bin/brew: avoid unnecessary 'tr' invocation

    UniqMartin committed
    This reduces the number of processes that need to be forked. If
    libtool's `config.guess` is to be trusted, there was never another
    spelling/capitalization other that `Darwin`.
  3. @UniqMartin

    bin/brew: separate variable assignment and export

    UniqMartin committed
    This very slightly reduces duplication and the risk of inconsistency by
    exporting in one branch, but not the other. By putting all the `export`
    statements right before the `exec` it is more obvious what is passed on.
  4. @UniqMartin

    bin/brew: quote in assignments for consistency

    UniqMartin committed
    While `var=$(<command>)` is perfectly valid and won't create any issues,
    it is often surprising for less shell-savvy users. Quoting these cases
    like in all other instances makes the code more uniform, helps to avoid
    future mistakes, and has no downsides.
  5. @UniqMartin
Commits on Nov 20, 2015
  1. @xu-cheng
  2. @mikemcquaid
Commits on Nov 18, 2015
  1. @mikemcquaid

    travis: test 10.9 using Ruby 1.8.

    mikemcquaid committed
    Closes #45816.
    Signed-off-by: Mike McQuaid <>
Commits on Nov 26, 2014
  1. @jacknagel

    Suppress output from `cd`

    jacknagel committed
    Closes #34246.
Commits on May 17, 2014
  1. @adamv

    convert tabs to spaces in bin/brew

    adamv committed
Commits on May 3, 2014
  1. @jacknagel

    Quote argument to readlink

    jacknagel committed
  2. @jacknagel
Commits on Feb 22, 2014
  1. @mistydemeo

    Unset GEM_HOME and GEM_PATH before running brew.rb

    mistydemeo committed
    This was reported in Tigerbrew, but is a worthwhile fix everywhere.
    Fixes mistydemeo/tigerbrew#177.
Commits on Feb 21, 2013
  1. @mikemcquaid

    brew: use a shell wrapper script for brew

    mikemcquaid committed
    This reverts commit dfd4dd1.
    Fixes the problems from #17683 and #17685.
  2. @mikemcquaid

    brew: move to Library/brew.rb

    mikemcquaid committed
    This reverts commit ac156b3.
Commits on Feb 18, 2013
  1. @mikemcquaid
  2. @mikemcquaid

    Rework brew command dispatch order.

    mikemcquaid committed
    Make it no longer possible to override e.g. `brew install` with a
    script if there is already a built-in Homebrew command named
    `brew install`.
    References #17673
Something went wrong with that request. Please try again.