--repository: support to show tap path

This can become handy when we separate core code and formulae. For
example, we could use `cd $(brew --repo homebrew/core)` to go to core
tap path.

Closes Homebrew/homebrew#50346.

Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
Xu Cheng 2016-03-23 16:33:40 +08:00
parent 773451f027
commit b8a4677de0
5 changed files with 21 additions and 2 deletions

View File

@ -1,5 +1,11 @@
require "tap"
module Homebrew module Homebrew
def __repository def __repository
if ARGV.named.empty?
puts HOMEBREW_REPOSITORY puts HOMEBREW_REPOSITORY
else
puts ARGV.named.map { |tap| Tap.fetch(tap).path }
end
end end
end end

View File

@ -529,6 +529,9 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
Display where Homebrew's `.git` directory is located. For standard installs, Display where Homebrew's `.git` directory is located. For standard installs,
the `prefix` and `repository` are the same directory. the `prefix` and `repository` are the same directory.
* `--repository` <user>`/`<repo>:
Display where tap <user>`/`<repo>'s directory is located.
* `--version`: * `--version`:
Print the version number of brew to standard error and exit. Print the version number of brew to standard error and exit.

View File

@ -124,6 +124,11 @@ class IntegrationCommandTests < Homebrew::TestCase
cmd("--repository") cmd("--repository")
end end
def test_repository
assert_match "#{HOMEBREW_LIBRARY}/Taps/foo/homebrew-bar",
cmd("--repository", "foo/bar")
end
def test_help def test_help
assert_match "Example usage:", assert_match "Example usage:",
cmd("help") cmd("help")

View File

@ -389,6 +389,7 @@ without any sort of versioned directory as the last path.</p></dd>
<dt><code>--prefix</code> <var>formula</var></dt><dd><p>Display the location in the cellar where <var>formula</var> is or would be installed.</p></dd> <dt><code>--prefix</code> <var>formula</var></dt><dd><p>Display the location in the cellar where <var>formula</var> is or would be installed.</p></dd>
<dt><code>--repository</code></dt><dd><p>Display where Homebrew's <code>.git</code> directory is located. For standard installs, <dt><code>--repository</code></dt><dd><p>Display where Homebrew's <code>.git</code> directory is located. For standard installs,
the <code>prefix</code> and <code>repository</code> are the same directory.</p></dd> the <code>prefix</code> and <code>repository</code> are the same directory.</p></dd>
<dt><code>--repository</code> <var>user</var><code>/</code><var>repo</var></dt><dd><p>Display where tap <var>user</var><code>/</code><var>repo</var>'s directory is located.</p></dd>
<dt><code>--version</code></dt><dd><p>Print the version number of brew to standard error and exit.</p></dd> <dt><code>--version</code></dt><dd><p>Print the version number of brew to standard error and exit.</p></dd>
</dl> </dl>

View File

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3 .\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3
. .
.TH "BREW" "1" "January 2016" "Homebrew" "brew" .TH "BREW" "1" "March 2016" "Homebrew" "brew"
. .
.SH "NAME" .SH "NAME"
\fBbrew\fR \- The missing package manager for OS X \fBbrew\fR \- The missing package manager for OS X
@ -566,6 +566,10 @@ Display the location in the cellar where \fIformula\fR is or would be installed\
Display where Homebrew\'s \fB\.git\fR directory is located\. For standard installs, the \fBprefix\fR and \fBrepository\fR are the same directory\. Display where Homebrew\'s \fB\.git\fR directory is located\. For standard installs, the \fBprefix\fR and \fBrepository\fR are the same directory\.
. .
.TP .TP
\fB\-\-repository\fR \fIuser\fR\fB/\fR\fIrepo\fR
Display where tap \fIuser\fR\fB/\fR\fIrepo\fR\'s directory is located\.
.
.TP
\fB\-\-version\fR \fB\-\-version\fR
Print the version number of brew to standard error and exit\. Print the version number of brew to standard error and exit\.
. .