aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2016-09-05 21:46:40 +0100
committerMike McQuaid2016-09-08 20:46:51 +0100
commit71881fd7a66227738a654d98f04647d412c11980 (patch)
tree740711d3a8733580c3197711d5062a11b2513d68
parent86bfd36af27d4539ff4ac6247942856cb5015b2b (diff)
downloadbrew-71881fd7a66227738a654d98f04647d412c11980.tar.bz2
Add DEVELOPER COMMANDS to manpage.
-rw-r--r--Library/Homebrew/dev-cmd/man.rb14
-rw-r--r--Library/Homebrew/manpages/brew.1.md.erb4
-rw-r--r--share/doc/homebrew/brew.1.html208
-rw-r--r--share/man/man1/brew.1244
4 files changed, 339 insertions, 131 deletions
diff --git a/Library/Homebrew/dev-cmd/man.rb b/Library/Homebrew/dev-cmd/man.rb
index 9b2d60147..fdd4bf33d 100644
--- a/Library/Homebrew/dev-cmd/man.rb
+++ b/Library/Homebrew/dev-cmd/man.rb
@@ -33,11 +33,8 @@ module Homebrew
convert_man_page(cask_markup, TARGET_MAN_PATH/"brew-cask.1")
end
- def build_man_page
- template = (SOURCE_PATH/"brew.1.md.erb").read
- variables = OpenStruct.new
-
- variables[:commands] = Pathname.glob("#{HOMEBREW_LIBRARY_PATH}/cmd/*.{rb,sh}").
+ def path_glob_commands(glob)
+ Pathname.glob(glob).
sort_by { |source_file| sort_key_for_path(source_file) }.
map { |source_file|
source_file.read.lines.
@@ -46,7 +43,14 @@ module Homebrew
join
}.
reject { |s| s.strip.empty? || s.include?("@hide_from_man_page") }
+ end
+
+ def build_man_page
+ template = (SOURCE_PATH/"brew.1.md.erb").read
+ variables = OpenStruct.new
+ variables[:commands] = path_glob_commands("#{HOMEBREW_LIBRARY_PATH}/cmd/*.{rb,sh}")
+ variables[:developer_commands] = path_glob_commands("#{HOMEBREW_LIBRARY_PATH}/dev-cmd/*.{rb,sh}")
variables[:maintainers] = (HOMEBREW_REPOSITORY/"README.md").
read[/Homebrew's current maintainers are (.*)\./, 1].
scan(/\[([^\]]*)\]/).flatten
diff --git a/Library/Homebrew/manpages/brew.1.md.erb b/Library/Homebrew/manpages/brew.1.md.erb
index 60557173d..d6828e9d0 100644
--- a/Library/Homebrew/manpages/brew.1.md.erb
+++ b/Library/Homebrew/manpages/brew.1.md.erb
@@ -50,6 +50,10 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
<%= commands.join("\n") %>
+## DEVELOPER COMMANDS
+
+<%= developer_commands.join("\n") %>
+
## EXTERNAL COMMANDS
Homebrew, like `git`(1), supports external commands. These are executable
diff --git a/share/doc/homebrew/brew.1.html b/share/doc/homebrew/brew.1.html
index cd475a313..25be33ef3 100644
--- a/share/doc/homebrew/brew.1.html
+++ b/share/doc/homebrew/brew.1.html
@@ -39,29 +39,6 @@ If no search term is given, all locally available formulae are listed.</p></dd>
Read more at <a href="https://git.io/brew-analytics" data-bare-link="true">https://git.io/brew-analytics</a>.</p></dd>
<dt><code>analytics</code> (<code>on</code>|<code>off</code>)</dt><dd><p>Turn on/off Homebrew's analytics.</p></dd>
<dt><code>analytics</code> <code>regenerate-uuid</code></dt><dd><p>Regenerate UUID used in Homebrew's analytics.</p></dd>
-<dt><code>audit</code> [<code>--strict</code>] [<code>--online</code>] [<code>--new-formula</code>] [<code>--display-cop-names</code>] [<code>--display-filename</code>] [<var>formulae</var>]</dt><dd><p>Check <var>formulae</var> for Homebrew coding style violations. This should be
-run before submitting a new formula.</p>
-
-<p>If no <var>formulae</var> are provided, all of them are checked.</p>
-
-<p>If <code>--strict</code> is passed, additional checks are run, including RuboCop
-style checks.</p>
-
-<p>If <code>--online</code> is passed, additional slower checks that require a network
-connection are run.</p>
-
-<p>If <code>--new-formula</code> is passed, various additional checks are run that check
-if a new formula is eligable for Homebrew. This should be used when creating
-new formulae and implies <code>--strict</code> and <code>--online</code>.</p>
-
-<p>If <code>--display-cop-names</code> is passed, the RuboCop cop name for each violation
-is included in the output.</p>
-
-<p>If <code>--display-filename</code> is passed, every line of output is prefixed with the
-name of the file or formula being audited, to make the output easy to grep.</p>
-
-<p><code>audit</code> exits with a non-zero status if any errors are found. This is useful,
-for instance, for implementing pre-commit hooks.</p></dd>
<dt><code>cat</code> <var>formula</var></dt><dd><p>Display the source to <var>formula</var>.</p></dd>
<dt><code>cleanup</code> [<code>--prune=</code><var>days</var>] [<code>--dry-run</code>] [<code>-s</code>] [<var>formulae</var>]</dt><dd><p>For all installed or specific formulae, remove any older versions from the
cellar. In addition, old downloads from the Homebrew download-cache are deleted.</p>
@@ -82,24 +59,6 @@ With <code>--include-aliases</code>, the aliases of internal commands will be in
<dt class="flush"><code>config</code></dt><dd><p>Show Homebrew and system configuration useful for debugging. If you file
a bug report, you will likely be asked for this information if you do not
provide it.</p></dd>
-<dt><code>create</code> <var>URL</var> [<code>--autotools</code>|<code>--cmake</code>] [<code>--no-fetch</code>] [<code>--set-name</code> <var>name</var>] [<code>--set-version</code> <var>version</var>] [<code>--tap</code> <var>user</var><code>/</code><var>repo</var>]</dt><dd><p>Generate a formula for the downloadable file at <var>URL</var> and open it in the editor.
-Homebrew will attempt to automatically derive the formula name
-and version, but if it fails, you'll have to make your own template. The <code>wget</code>
-formula serves as a simple example. For the complete API have a look at</p>
-
-<p><a href="http://www.rubydoc.info/github/Homebrew/brew/master/Formula" data-bare-link="true">http://www.rubydoc.info/github/Homebrew/brew/master/Formula</a></p>
-
-<p>If <code>--autotools</code> is passed, create a basic template for an Autotools-style build.
-If <code>--cmake</code> is passed, create a basic template for a CMake-style build.</p>
-
-<p>If <code>--no-fetch</code> is passed, Homebrew will not download <var>URL</var> to the cache and
-will thus not add the SHA256 to the formula for you.</p>
-
-<p>The options <code>--set-name</code> and <code>--set-version</code> each take an argument and allow
-you to explicitly set the name and version of the package you are creating.</p>
-
-<p>The option <code>--tap</code> takes a tap as its argument and generates the formula in
-the specified tap.</p></dd>
<dt><code>deps</code> [<code>--1</code>] [<code>-n</code>] [<code>--union</code>] [<code>--full-name</code>] [<code>--installed</code>] [<code>--include-build</code>] [<code>--include-optional</code>] [<code>--skip-recommended</code>] <var>formulae</var></dt><dd><p>Show dependencies for <var>formulae</var>. When given multiple formula arguments,
show the intersection of dependencies for <var>formulae</var>.</p>
@@ -149,8 +108,6 @@ and allow you to explicitly set the name and version of the package you are
installing.</p></dd>
<dt class="flush"><code>doctor</code></dt><dd><p>Check your system for potential problems. Doctor exits with a non-zero status
if any problems are found.</p></dd>
-<dt class="flush"><code>edit</code></dt><dd><p>Open all of Homebrew for editing.</p></dd>
-<dt><code>edit</code> <var>formula</var></dt><dd><p>Open <var>formula</var> in the editor.</p></dd>
<dt><code>fetch</code> [<code>--force</code>] [<code>--retry</code>] [<code>-v</code>] [<code>--devel</code>|<code>--HEAD</code>] [<code>--deps</code>] [<code>--build-from-source</code>|<code>--force-bottle</code>] <var>formulae</var></dt><dd><p>Download the source packages for the given <var>formulae</var>.
For tarballs, also print SHA-256 checksums.</p>
@@ -395,21 +352,6 @@ for <var>version</var> is <code>v1</code>.</p>
<dt><code>tap-pin</code> <var>tap</var></dt><dd><p>Pin <var>tap</var>, prioritizing its formulae over core when formula names are supplied
by the user. See also <code>tap-unpin</code>.</p></dd>
<dt><code>tap-unpin</code> <var>tap</var></dt><dd><p>Unpin <var>tap</var> so its formulae are no longer prioritized. See also <code>tap-pin</code>.</p></dd>
-<dt><code>test</code> [<code>--devel</code>|<code>--HEAD</code>] [<code>--debug</code>] [<code>--keep-tmp</code>] <var>formula</var></dt><dd><p>A few formulae provide a test method. <code>brew test</code> <var>formula</var> runs this
-test method. There is no standard output or return code, but it should
-generally indicate to the user if something is wrong with the installed
-formula.</p>
-
-<p>To test the development or head version of a formula, use <code>--devel</code> or
-<code>--HEAD</code>.</p>
-
-<p>If <code>--debug</code> is passed and the test fails, an interactive debugger will be
-launched with access to IRB or a shell inside the temporary test directory.</p>
-
-<p>If <code>--keep-tmp</code> is passed, the temporary files created for the test are
-not deleted.</p>
-
-<p>Example: <code>brew install jruby &amp;&amp; brew test jruby</code></p></dd>
<dt><code>uninstall</code>, <code>rm</code>, <code>remove</code> [<code>--force</code>] <var>formula</var></dt><dd><p>Uninstall <var>formula</var>.</p>
<p>If <code>--force</code> is passed, and there are multiple versions of <var>formula</var>
@@ -494,6 +436,156 @@ the <code>prefix</code> and <code>repository</code> are the same directory.</p><
</dl>
+<h2 id="DEVELOPER-COMMANDS">DEVELOPER COMMANDS</h2>
+
+<dl>
+<dt><code>audit</code> [<code>--strict</code>] [<code>--online</code>] [<code>--new-formula</code>] [<code>--display-cop-names</code>] [<code>--display-filename</code>] [<var>formulae</var>]</dt><dd><p>Check <var>formulae</var> for Homebrew coding style violations. This should be
+run before submitting a new formula.</p>
+
+<p>If no <var>formulae</var> are provided, all of them are checked.</p>
+
+<p>If <code>--strict</code> is passed, additional checks are run, including RuboCop
+style checks.</p>
+
+<p>If <code>--online</code> is passed, additional slower checks that require a network
+connection are run.</p>
+
+<p>If <code>--new-formula</code> is passed, various additional checks are run that check
+if a new formula is eligable for Homebrew. This should be used when creating
+new formulae and implies <code>--strict</code> and <code>--online</code>.</p>
+
+<p>If <code>--display-cop-names</code> is passed, the RuboCop cop name for each violation
+is included in the output.</p>
+
+<p>If <code>--display-filename</code> is passed, every line of output is prefixed with the
+name of the file or formula being audited, to make the output easy to grep.</p>
+
+<p><code>audit</code> exits with a non-zero status if any errors are found. This is useful,
+for instance, for implementing pre-commit hooks.</p></dd>
+<dt><code>bottle</code> [<code>--verbose</code>] [<code>--no-rebuild</code>] [<code>--keep-old</code>] [<code>--skip-relocation</code>] [<code>--root-url=&lt;root_url></code>]:</dt><dd><p></p></dd>
+<dt><code>bottle</code> <code>--merge</code> [<code>--no-commit</code>] [<code>--keep-old</code>] [<code>--write</code>]:</dt><dd><p></p>
+
+<p>Generate a bottle (binary package) from a formula installed with
+<code>--build-bottle</code>.</p></dd>
+<dt><code>bump-formula-pr</code> [<code>--devel</code>] [<code>--dry-run</code>] [<code>--audit</code>|<code>--strict</code>] <code>--url=</code><var>url</var> <code>--sha256=</code><var>sha-256</var> <var>formula</var>:</dt><dd><p></p></dd>
+<dt><code>bump-formula-pr</code> [<code>--devel</code>] [<code>--dry-run</code>] [<code>--audit</code>|<code>--strict</code>] <code>--tag=</code><var>tag</var> <code>--revision=</code><var>revision</var> <var>formula</var></dt><dd><p>Creates a pull request to update the formula with a new url or a new tag.</p>
+
+<p>If a <var>url</var> is specified, the <var>sha-256</var> checksum of the new download must
+also be specified.</p>
+
+<p>If a <var>tag</var> is specified, the git commit <var>revision</var> corresponding to that
+tag must also be specified.</p>
+
+<p>If <code>--devel</code> is passed, bump the development rather than stable version.
+The development spec must already exist.</p>
+
+<p>If <code>--dry-run</code> is passed, print what would be done rather than doing it.</p>
+
+<p>If <code>--audit</code> is passed, run <code>brew audit</code> before opening the PR.</p>
+
+<p>If <code>--strict</code> is passed, run <code>brew audit --strict</code> before opening the PR.</p>
+
+<p>Note that this command cannot be used to transition a formula from a
+url-and-sha256 style specification into a tag-and-revision style
+specification, nor vice versa. It must use whichever style specification
+the preexisting formula already uses.</p></dd>
+<dt><code>create</code> <var>URL</var> [<code>--autotools</code>|<code>--cmake</code>] [<code>--no-fetch</code>] [<code>--set-name</code> <var>name</var>] [<code>--set-version</code> <var>version</var>] [<code>--tap</code> <var>user</var><code>/</code><var>repo</var>]</dt><dd><p>Generate a formula for the downloadable file at <var>URL</var> and open it in the editor.
+Homebrew will attempt to automatically derive the formula name
+and version, but if it fails, you'll have to make your own template. The <code>wget</code>
+formula serves as a simple example. For the complete API have a look at</p>
+
+<p><a href="http://www.rubydoc.info/github/Homebrew/brew/master/Formula" data-bare-link="true">http://www.rubydoc.info/github/Homebrew/brew/master/Formula</a></p>
+
+<p>If <code>--autotools</code> is passed, create a basic template for an Autotools-style build.
+If <code>--cmake</code> is passed, create a basic template for a CMake-style build.</p>
+
+<p>If <code>--no-fetch</code> is passed, Homebrew will not download <var>URL</var> to the cache and
+will thus not add the SHA256 to the formula for you.</p>
+
+<p>The options <code>--set-name</code> and <code>--set-version</code> each take an argument and allow
+you to explicitly set the name and version of the package you are creating.</p>
+
+<p>The option <code>--tap</code> takes a tap as its argument and generates the formula in
+the specified tap.</p></dd>
+<dt class="flush"><code>edit</code></dt><dd><p>Open all of Homebrew for editing.</p></dd>
+<dt><code>edit</code> <var>formula</var></dt><dd><p>Open <var>formula</var> in the editor.</p></dd>
+<dt><code>linkage</code> [<code>--test</code>] [<code>--reverse</code>] <var>formula-name</var></dt><dd><p>Checks the library links of an installed formula.</p>
+
+<p>Only works on installed formulae. An error is raised if it is run on
+uninstalled formulae.</p>
+
+<p>If <code>--test</code> is passed, only display missing libraries and exit with a
+non-zero exit code if any missing libraries were found.</p>
+
+<p>If <code>--reverse</code> is passed, print the dylib followed by the binaries
+which link to it for each library the keg references.</p></dd>
+<dt class="flush"><code>man</code></dt><dd><p>Generate Homebrew's manpages.</p></dd>
+</dl>
+
+
+<p> <code>pull</code> [<code>--bottle</code>] [<code>--bump</code>] [<code>--clean</code>] [<code>--ignore-whitespace</code>] [<code>--resolve</code>] [<code>--branch-okay</code>] [<code>--no-pbcopy</code>] [<code>--no-publish</code>] <var>patch-source</var> [<var>patch-source</var>]</p>
+
+<pre><code>Gets a patch from a GitHub commit or pull request and applies it to Homebrew.
+Optionally, installs the formulae changed by the patch.
+
+Each &lt;patch-source> may be one of:
+ * The ID number of a PR (Pull Request) in the homebrew/core GitHub
+ repository
+ * The URL of a PR on GitHub, using either the web page or API URL
+ formats. In this form, the PR may be on Homebrew/brew,
+ Homebrew/homebrew-core or any tap.
+ * The URL of a commit on GitHub
+ * A "http://bot.brew.sh/job/..." string specifying a testing job ID
+</code></pre>
+
+<p> If <code>--bottle</code> was passed, handle bottles, pulling the bottle-update
+ commit and publishing files on Bintray.
+ If <code>--bump</code> was passed, for one-formula PRs, automatically reword
+ commit message to our preferred format.
+ If <code>--clean</code> was passed, do not rewrite or otherwise modify the
+ commits found in the pulled PR.
+ If <code>--ignore-whitespace</code> was passed, silently ignore whitespace
+ discrepancies when applying diffs.
+ If <code>--resolve</code> was passed, when a patch fails to apply, leave in
+ progress and allow user to
+ resolve, instead of aborting.
+ If <code>--branch-okay</code> was passed, do not warn if pulling to a branch
+ besides master (useful for testing).
+ If <code>--no-pbcopy</code> was passed, do not copy anything to the system
+ If <code>--no-publish</code> was passed, do not publish bottles to Bintray.</p>
+
+<dl>
+<dt><code>tap_readme</code> [<code>-v</code>] <var>name</var></dt><dd><p>Generate the README.md file for a new tap.</p></dd>
+<dt><code>test</code> [<code>--devel</code>|<code>--HEAD</code>] [<code>--debug</code>] [<code>--keep-tmp</code>] <var>formula</var></dt><dd><p>A few formulae provide a test method. <code>brew test</code> <var>formula</var> runs this
+test method. There is no standard output or return code, but it should
+generally indicate to the user if something is wrong with the installed
+formula.</p>
+
+<p>To test the development or head version of a formula, use <code>--devel</code> or
+<code>--HEAD</code>.</p>
+
+<p>If <code>--debug</code> is passed and the test fails, an interactive debugger will be
+launched with access to IRB or a shell inside the temporary test directory.</p>
+
+<p>If <code>--keep-tmp</code> is passed, the temporary files created for the test are
+not deleted.</p>
+
+<p>Example: <code>brew install jruby &amp;&amp; brew test jruby</code></p></dd>
+<dt><code>tests</code> [<code>-v</code>] [<code>--coverage</code>] [<code>--generic</code>] [<code>--no-compat</code>] [<code>--only=</code><test_script/test_method>] [<code>--seed</code> <var>seed</var>] [<code>--trace</code>] [<code>--online</code>] [<code>--official-cmd-taps</code>]</dt><dd><p>Run Homebrew's unit and integration tests.</p></dd>
+<dt><code>update-test</code> [<code>--commit=&lt;sha1></code>] [<code>--before=&lt;date></code>] [<code>--keep-tmp</code>]</dt><dd><p>Runs a test of <code>brew update</code> with a new repository clone.</p>
+
+<p>If no arguments are passed, use <code>origin/master</code> as the start commit.</p>
+
+<p>If <code>--commit=&lt;sha1></code> is passed, use <code>&lt;sha1></code> as the start commit.</p>
+
+<p>If <code>--before=&lt;date></code> is passed, use the commit at <code>&lt;date></code> as the
+start commit.</p>
+
+<p>If <code>--keep-tmp</code> is passed, retain the temporary directory containing
+the new repository clone.</p></dd>
+</dl>
+
+
<h2 id="EXTERNAL-COMMANDS">EXTERNAL COMMANDS</h2>
<p>Homebrew, like <code>git</code>(1), supports external commands. These are executable
diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1
index 41ba07e6a..1877a3947 100644
--- a/share/man/man1/brew.1
+++ b/share/man/man1/brew.1
@@ -56,31 +56,6 @@ Turn on/off Homebrew\'s analytics\.
Regenerate UUID used in Homebrew\'s analytics\.
.
.TP
-\fBaudit\fR [\fB\-\-strict\fR] [\fB\-\-online\fR] [\fB\-\-new\-formula\fR] [\fB\-\-display\-cop\-names\fR] [\fB\-\-display\-filename\fR] [\fIformulae\fR]
-Check \fIformulae\fR for Homebrew coding style violations\. This should be run before submitting a new formula\.
-.
-.IP
-If no \fIformulae\fR are provided, all of them are checked\.
-.
-.IP
-If \fB\-\-strict\fR is passed, additional checks are run, including RuboCop style checks\.
-.
-.IP
-If \fB\-\-online\fR is passed, additional slower checks that require a network connection are run\.
-.
-.IP
-If \fB\-\-new\-formula\fR is passed, various additional checks are run that check if a new formula is eligable for Homebrew\. This should be used when creating new formulae and implies \fB\-\-strict\fR and \fB\-\-online\fR\.
-.
-.IP
-If \fB\-\-display\-cop\-names\fR is passed, the RuboCop cop name for each violation is included in the output\.
-.
-.IP
-If \fB\-\-display\-filename\fR is passed, every line of output is prefixed with the name of the file or formula being audited, to make the output easy to grep\.
-.
-.IP
-\fBaudit\fR exits with a non\-zero status if any errors are found\. This is useful, for instance, for implementing pre\-commit hooks\.
-.
-.TP
\fBcat\fR \fIformula\fR
Display the source to \fIformula\fR\.
.
@@ -113,25 +88,6 @@ If \fB\-\-quiet\fR is passed, list only the names of commands without the header
Show Homebrew and system configuration useful for debugging\. If you file a bug report, you will likely be asked for this information if you do not provide it\.
.
.TP
-\fBcreate\fR \fIURL\fR [\fB\-\-autotools\fR|\fB\-\-cmake\fR] [\fB\-\-no\-fetch\fR] [\fB\-\-set\-name\fR \fIname\fR] [\fB\-\-set\-version\fR \fIversion\fR] [\fB\-\-tap\fR \fIuser\fR\fB/\fR\fIrepo\fR]
-Generate a formula for the downloadable file at \fIURL\fR and open it in the editor\. Homebrew will attempt to automatically derive the formula name and version, but if it fails, you\'ll have to make your own template\. The \fBwget\fR formula serves as a simple example\. For the complete API have a look at
-.
-.IP
-\fIhttp://www\.rubydoc\.info/github/Homebrew/brew/master/Formula\fR
-.
-.IP
-If \fB\-\-autotools\fR is passed, create a basic template for an Autotools\-style build\. If \fB\-\-cmake\fR is passed, create a basic template for a CMake\-style build\.
-.
-.IP
-If \fB\-\-no\-fetch\fR is passed, Homebrew will not download \fIURL\fR to the cache and will thus not add the SHA256 to the formula for you\.
-.
-.IP
-The options \fB\-\-set\-name\fR and \fB\-\-set\-version\fR each take an argument and allow you to explicitly set the name and version of the package you are creating\.
-.
-.IP
-The option \fB\-\-tap\fR takes a tap as its argument and generates the formula in the specified tap\.
-.
-.TP
\fBdeps\fR [\fB\-\-1\fR] [\fB\-n\fR] [\fB\-\-union\fR] [\fB\-\-full\-name\fR] [\fB\-\-installed\fR] [\fB\-\-include\-build\fR] [\fB\-\-include\-optional\fR] [\fB\-\-skip\-recommended\fR] \fIformulae\fR
Show dependencies for \fIformulae\fR\. When given multiple formula arguments, show the intersection of dependencies for \fIformulae\fR\.
.
@@ -193,14 +149,6 @@ The options \fB\-\-name=\fR\fIname\fR and \fB\-\-version=\fR\fIversion\fR each t
Check your system for potential problems\. Doctor exits with a non\-zero status if any problems are found\.
.
.TP
-\fBedit\fR
-Open all of Homebrew for editing\.
-.
-.TP
-\fBedit\fR \fIformula\fR
-Open \fIformula\fR in the editor\.
-.
-.TP
\fBfetch\fR [\fB\-\-force\fR] [\fB\-\-retry\fR] [\fB\-v\fR] [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-deps\fR] [\fB\-\-build\-from\-source\fR|\fB\-\-force\-bottle\fR] \fIformulae\fR
Download the source packages for the given \fIformulae\fR\. For tarballs, also print SHA\-256 checksums\.
.
@@ -542,22 +490,6 @@ Pin \fItap\fR, prioritizing its formulae over core when formula names are suppli
Unpin \fItap\fR so its formulae are no longer prioritized\. See also \fBtap\-pin\fR\.
.
.TP
-\fBtest\fR [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-debug\fR] [\fB\-\-keep\-tmp\fR] \fIformula\fR
-A few formulae provide a test method\. \fBbrew test\fR \fIformula\fR runs this test method\. There is no standard output or return code, but it should generally indicate to the user if something is wrong with the installed formula\.
-.
-.IP
-To test the development or head version of a formula, use \fB\-\-devel\fR or \fB\-\-HEAD\fR\.
-.
-.IP
-If \fB\-\-debug\fR is passed and the test fails, an interactive debugger will be launched with access to IRB or a shell inside the temporary test directory\.
-.
-.IP
-If \fB\-\-keep\-tmp\fR is passed, the temporary files created for the test are not deleted\.
-.
-.IP
-Example: \fBbrew install jruby && brew test jruby\fR
-.
-.TP
\fBuninstall\fR, \fBrm\fR, \fBremove\fR [\fB\-\-force\fR] \fIformula\fR
Uninstall \fIformula\fR\.
.
@@ -684,6 +616,182 @@ Display where tap \fIuser\fR\fB/\fR\fIrepo\fR\'s directory is located\.
\fB\-\-version\fR
Print the version number of Homebrew to standard output and exit\.
.
+.SH "DEVELOPER COMMANDS"
+.
+.TP
+\fBaudit\fR [\fB\-\-strict\fR] [\fB\-\-online\fR] [\fB\-\-new\-formula\fR] [\fB\-\-display\-cop\-names\fR] [\fB\-\-display\-filename\fR] [\fIformulae\fR]
+Check \fIformulae\fR for Homebrew coding style violations\. This should be run before submitting a new formula\.
+.
+.IP
+If no \fIformulae\fR are provided, all of them are checked\.
+.
+.IP
+If \fB\-\-strict\fR is passed, additional checks are run, including RuboCop style checks\.
+.
+.IP
+If \fB\-\-online\fR is passed, additional slower checks that require a network connection are run\.
+.
+.IP
+If \fB\-\-new\-formula\fR is passed, various additional checks are run that check if a new formula is eligable for Homebrew\. This should be used when creating new formulae and implies \fB\-\-strict\fR and \fB\-\-online\fR\.
+.
+.IP
+If \fB\-\-display\-cop\-names\fR is passed, the RuboCop cop name for each violation is included in the output\.
+.
+.IP
+If \fB\-\-display\-filename\fR is passed, every line of output is prefixed with the name of the file or formula being audited, to make the output easy to grep\.
+.
+.IP
+\fBaudit\fR exits with a non\-zero status if any errors are found\. This is useful, for instance, for implementing pre\-commit hooks\.
+.
+.TP
+\fBbottle\fR [\fB\-\-verbose\fR] [\fB\-\-no\-rebuild\fR] [\fB\-\-keep\-old\fR] [\fB\-\-skip\-relocation\fR] [\fB\-\-root\-url=<root_url>\fR]:
+
+.
+.TP
+\fBbottle\fR \fB\-\-merge\fR [\fB\-\-no\-commit\fR] [\fB\-\-keep\-old\fR] [\fB\-\-write\fR]:
+.
+.IP
+Generate a bottle (binary package) from a formula installed with \fB\-\-build\-bottle\fR\.
+.
+.TP
+\fBbump\-formula\-pr\fR [\fB\-\-devel\fR] [\fB\-\-dry\-run\fR] [\fB\-\-audit\fR|\fB\-\-strict\fR] \fB\-\-url=\fR\fIurl\fR \fB\-\-sha256=\fR\fIsha\-256\fR \fIformula\fR:
+
+.
+.TP
+\fBbump\-formula\-pr\fR [\fB\-\-devel\fR] [\fB\-\-dry\-run\fR] [\fB\-\-audit\fR|\fB\-\-strict\fR] \fB\-\-tag=\fR\fItag\fR \fB\-\-revision=\fR\fIrevision\fR \fIformula\fR
+Creates a pull request to update the formula with a new url or a new tag\.
+.
+.IP
+If a \fIurl\fR is specified, the \fIsha\-256\fR checksum of the new download must also be specified\.
+.
+.IP
+If a \fItag\fR is specified, the git commit \fIrevision\fR corresponding to that tag must also be specified\.
+.
+.IP
+If \fB\-\-devel\fR is passed, bump the development rather than stable version\. The development spec must already exist\.
+.
+.IP
+If \fB\-\-dry\-run\fR is passed, print what would be done rather than doing it\.
+.
+.IP
+If \fB\-\-audit\fR is passed, run \fBbrew audit\fR before opening the PR\.
+.
+.IP
+If \fB\-\-strict\fR is passed, run \fBbrew audit \-\-strict\fR before opening the PR\.
+.
+.IP
+Note that this command cannot be used to transition a formula from a url\-and\-sha256 style specification into a tag\-and\-revision style specification, nor vice versa\. It must use whichever style specification the preexisting formula already uses\.
+.
+.TP
+\fBcreate\fR \fIURL\fR [\fB\-\-autotools\fR|\fB\-\-cmake\fR] [\fB\-\-no\-fetch\fR] [\fB\-\-set\-name\fR \fIname\fR] [\fB\-\-set\-version\fR \fIversion\fR] [\fB\-\-tap\fR \fIuser\fR\fB/\fR\fIrepo\fR]
+Generate a formula for the downloadable file at \fIURL\fR and open it in the editor\. Homebrew will attempt to automatically derive the formula name and version, but if it fails, you\'ll have to make your own template\. The \fBwget\fR formula serves as a simple example\. For the complete API have a look at
+.
+.IP
+\fIhttp://www\.rubydoc\.info/github/Homebrew/brew/master/Formula\fR
+.
+.IP
+If \fB\-\-autotools\fR is passed, create a basic template for an Autotools\-style build\. If \fB\-\-cmake\fR is passed, create a basic template for a CMake\-style build\.
+.
+.IP
+If \fB\-\-no\-fetch\fR is passed, Homebrew will not download \fIURL\fR to the cache and will thus not add the SHA256 to the formula for you\.
+.
+.IP
+The options \fB\-\-set\-name\fR and \fB\-\-set\-version\fR each take an argument and allow you to explicitly set the name and version of the package you are creating\.
+.
+.IP
+The option \fB\-\-tap\fR takes a tap as its argument and generates the formula in the specified tap\.
+.
+.TP
+\fBedit\fR
+Open all of Homebrew for editing\.
+.
+.TP
+\fBedit\fR \fIformula\fR
+Open \fIformula\fR in the editor\.
+.
+.TP
+\fBlinkage\fR [\fB\-\-test\fR] [\fB\-\-reverse\fR] \fIformula\-name\fR
+Checks the library links of an installed formula\.
+.
+.IP
+Only works on installed formulae\. An error is raised if it is run on uninstalled formulae\.
+.
+.IP
+If \fB\-\-test\fR is passed, only display missing libraries and exit with a non\-zero exit code if any missing libraries were found\.
+.
+.IP
+If \fB\-\-reverse\fR is passed, print the dylib followed by the binaries which link to it for each library the keg references\.
+.
+.TP
+\fBman\fR
+Generate Homebrew\'s manpages\.
+.
+.P
+\fBpull\fR [\fB\-\-bottle\fR] [\fB\-\-bump\fR] [\fB\-\-clean\fR] [\fB\-\-ignore\-whitespace\fR] [\fB\-\-resolve\fR] [\fB\-\-branch\-okay\fR] [\fB\-\-no\-pbcopy\fR] [\fB\-\-no\-publish\fR] \fIpatch\-source\fR [\fIpatch\-source\fR]
+.
+.IP "" 4
+.
+.nf
+
+Gets a patch from a GitHub commit or pull request and applies it to Homebrew\.
+Optionally, installs the formulae changed by the patch\.
+
+Each <patch\-source> may be one of:
+ * The ID number of a PR (Pull Request) in the homebrew/core GitHub
+ repository
+ * The URL of a PR on GitHub, using either the web page or API URL
+ formats\. In this form, the PR may be on Homebrew/brew,
+ Homebrew/homebrew\-core or any tap\.
+ * The URL of a commit on GitHub
+ * A "http://bot\.brew\.sh/job/\.\.\." string specifying a testing job ID
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If \fB\-\-bottle\fR was passed, handle bottles, pulling the bottle\-update commit and publishing files on Bintray\. If \fB\-\-bump\fR was passed, for one\-formula PRs, automatically reword commit message to our preferred format\. If \fB\-\-clean\fR was passed, do not rewrite or otherwise modify the commits found in the pulled PR\. If \fB\-\-ignore\-whitespace\fR was passed, silently ignore whitespace discrepancies when applying diffs\. If \fB\-\-resolve\fR was passed, when a patch fails to apply, leave in progress and allow user to resolve, instead of aborting\. If \fB\-\-branch\-okay\fR was passed, do not warn if pulling to a branch besides master (useful for testing)\. If \fB\-\-no\-pbcopy\fR was passed, do not copy anything to the system If \fB\-\-no\-publish\fR was passed, do not publish bottles to Bintray\.
+.
+.TP
+\fBtap_readme\fR [\fB\-v\fR] \fIname\fR
+Generate the README\.md file for a new tap\.
+.
+.TP
+\fBtest\fR [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-debug\fR] [\fB\-\-keep\-tmp\fR] \fIformula\fR
+A few formulae provide a test method\. \fBbrew test\fR \fIformula\fR runs this test method\. There is no standard output or return code, but it should generally indicate to the user if something is wrong with the installed formula\.
+.
+.IP
+To test the development or head version of a formula, use \fB\-\-devel\fR or \fB\-\-HEAD\fR\.
+.
+.IP
+If \fB\-\-debug\fR is passed and the test fails, an interactive debugger will be launched with access to IRB or a shell inside the temporary test directory\.
+.
+.IP
+If \fB\-\-keep\-tmp\fR is passed, the temporary files created for the test are not deleted\.
+.
+.IP
+Example: \fBbrew install jruby && brew test jruby\fR
+.
+.TP
+\fBtests\fR [\fB\-v\fR] [\fB\-\-coverage\fR] [\fB\-\-generic\fR] [\fB\-\-no\-compat\fR] [\fB\-\-only=\fR<test_script/test_method>] [\fB\-\-seed\fR \fIseed\fR] [\fB\-\-trace\fR] [\fB\-\-online\fR] [\fB\-\-official\-cmd\-taps\fR]
+Run Homebrew\'s unit and integration tests\.
+.
+.TP
+\fBupdate\-test\fR [\fB\-\-commit=<sha1>\fR] [\fB\-\-before=<date>\fR] [\fB\-\-keep\-tmp\fR]
+Runs a test of \fBbrew update\fR with a new repository clone\.
+.
+.IP
+If no arguments are passed, use \fBorigin/master\fR as the start commit\.
+.
+.IP
+If \fB\-\-commit=<sha1>\fR is passed, use \fB<sha1>\fR as the start commit\.
+.
+.IP
+If \fB\-\-before=<date>\fR is passed, use the commit at \fB<date>\fR as the start commit\.
+.
+.IP
+If \fB\-\-keep\-tmp\fR is passed, retain the temporary directory containing the new repository clone\.
+.
.SH "EXTERNAL COMMANDS"
Homebrew, like \fBgit\fR(1), supports external commands\. These are executable scripts that reside somewhere in the \fBPATH\fR, named \fBbrew\-\fR\fIcmdname\fR or \fBbrew\-\fR\fIcmdname\fR\fB\.rb\fR, which can be invoked like \fBbrew\fR \fIcmdname\fR\. This allows you to create your own commands without modifying Homebrew\'s internals\.
.