Issy Long 981726c088
utils/git_spec: Add a test for last_revision_commit_of_files
- This method, called from `brew extract` in the case of extraction from
  third-party taps, was untested. This led to it breaking when we refactored
  some of it to appease Sorbet (see PR 7933). If I make the same
  (flawed) change here and run these tests, they fail.
- There's a fair bit going on here, but most of it is setup for
  committing changes to more files, as we're testing operations on
  multiple files in a Homebrew repo.
- I originally tried to write tests for `brew extract`, but that
  required _a lot_ of refactoring because those tests (and their helper
  methods) aren't designed for third-party taps - they rely on
  `CoreTap`. So testing the underlying method is a better solution.
2020-07-14 00:18:44 +01:00
2020-07-08 11:12:26 +01:00
2020-07-07 11:53:55 +01:00
2020-07-05 15:45:36 +10:00
2019-12-17 21:42:54 +00:00
2020-06-12 09:10:42 +01:00
2020-07-05 15:45:36 +10:00
2019-06-25 09:30:04 +01:00

Homebrew

GitHub release

Features, usage and installation instructions are summarised on the homepage. Terminology (e.g. the difference between a Cellar, Tap, Cask and so forth) is explained here.

What Packages Are Available?

  1. Type brew search for a list.
  2. Or visit formulae.brew.sh to browse packages online.
  3. Or use brew search --desc <keyword> to browse packages from the command line.

More Documentation

brew help, man brew or check our documentation.

Troubleshooting

First, please run brew update and brew doctor.

Second, read the Troubleshooting Checklist.

If you don't read these it will take us far longer to help you with your problem.

Contributing

We'd love you to contribute to Homebrew. First, please read our Contribution Guide and Code of Conduct.

We explicitly welcome contributions from people who have never contributed to open-source before: we were all beginners once! We can help build on a partially working pull request with the aim of getting it merged. We are also actively seeking to diversify our contributors and especially welcome contributions from women from all backgrounds and people of colour.

A good starting point for contributing is running brew audit --strict with some of the packages you use (e.g. brew audit --strict wget if you use wget) and then read through the warnings, try to fix them until brew audit --strict shows no results and submit a pull request. If no formulae you use have warnings you can run brew audit --strict without arguments to have it run on all packages and pick one.

Alternatively, for something more substantial, check out one of the issues labeled help wanted in Homebrew/brew or Homebrew/homebrew-core.

Good luck!

Donations

Homebrew is a non-profit project run entirely by unpaid volunteers. We need your funds to pay for software, hardware and hosting around continuous integration and future improvements to the project. Every donation will be spent on making Homebrew better for our users.

Please consider a regular donation through GitHub Sponsors or Patreon.

Alternatively, if you'd rather make a one-off payment:

  • Donate with PayPal
  • Donate by USA $ check from a USA bank:
    • Make check payable to "Software Freedom Conservancy, Inc." and place "Directed donation: Homebrew" in the memo field. Checks should then be mailed to:
      • Software Freedom Conservancy, Inc. 137 Montague ST STE 380 BROOKLYN, NY 11201 USA
  • Donate by wire transfer: contact accounting@sfconservancy.org for wire transfer details.

Homebrew is a member of the Software Freedom Conservancy which provides us with an ability to receive tax-deductible, Homebrew earmarked donations (and many other services). Software Freedom Conservancy, Inc. is a 501(c)(3) organization incorporated in New York, and donations made to it are fully tax-deductible to the extent permitted by law.

Security

Please report security issues to our HackerOne.

Who We Are

Homebrew's Project Leader is Mike McQuaid.

Homebrew's Project Leadership Committee is Misty De Meo, Shaun Jackman, Jonathan Chang, Sean Molenaar and Markus Reiter.

Homebrew's Technical Steering Committee is Michka Popoff, FX Coudert, Markus Reiter, Misty De Meo and Mike McQuaid.

Homebrew/brew's Linux maintainers are Michka Popoff, Shaun Jackman, Dawid Dziurla and Issy Long.

Homebrew's other current maintainers are Claudia Pellegrino, Zach Auten, Rui Chen, Vitor Galvao, Caleb Xu, Gautham Goli, Steven Peters, Bo Anderson, William Woodruff, Igor Kapkov, Sam Ford, Alexander Bayandin, Izaak Beekman, Eric Knibbe, Viktor Szakats, Thierry Moisan, Steven Peters, Tom Schoonjans and Issy Long.

Former maintainers with significant contributions include Jan Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew's creator: Max Howell.

Community

License

Code is under the BSD 2-clause "Simplified" License. Documentation is under the Creative Commons Attribution license.

Sponsors

Our macOS continuous integration infrastructure is hosted by MacStadium's Orka.

Powered by MacStadium

Our bottles (binary packages) are hosted by Bintray.

Downloads by Bintray

Secure password storage and syncing is provided by 1Password for Teams by AgileBits.

AgileBits

Homebrew is a member of the Software Freedom Conservancy.

Software Freedom Conservancy

Homebrew is generously supported by Zeno R.R. Davatz, Randy Reddig and 262 other users via GitHub Sponsors.

Description
🍺 The missing package manager for macOS (or Linux)
Readme 144 MiB
4.6.25 Latest
2025-09-16 21:53:50 +00:00
Languages
Ruby 92%
Shell 5.2%
Roff 2.1%
HTML 0.5%