From b8a4677de09082cb0e4850f38cfcb0201f0166ac Mon Sep 17 00:00:00 2001
From: Xu Cheng
Date: Wed, 23 Mar 2016 16:33:40 +0800
Subject: [PATCH] --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
---
Library/Homebrew/cmd/--repository.rb | 8 +++++++-
Library/Homebrew/manpages/brew.1.md | 3 +++
Library/Homebrew/test/test_integration_cmds.rb | 5 +++++
share/doc/homebrew/brew.1.html | 1 +
share/man/man1/brew.1 | 6 +++++-
5 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/Library/Homebrew/cmd/--repository.rb b/Library/Homebrew/cmd/--repository.rb
index e2a5feb131..b697b3eaa3 100644
--- a/Library/Homebrew/cmd/--repository.rb
+++ b/Library/Homebrew/cmd/--repository.rb
@@ -1,5 +1,11 @@
+require "tap"
+
module Homebrew
def __repository
- puts HOMEBREW_REPOSITORY
+ if ARGV.named.empty?
+ puts HOMEBREW_REPOSITORY
+ else
+ puts ARGV.named.map { |tap| Tap.fetch(tap).path }
+ end
end
end
diff --git a/Library/Homebrew/manpages/brew.1.md b/Library/Homebrew/manpages/brew.1.md
index d884d67027..aa88b373d8 100644
--- a/Library/Homebrew/manpages/brew.1.md
+++ b/Library/Homebrew/manpages/brew.1.md
@@ -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,
the `prefix` and `repository` are the same directory.
+ * `--repository` `/`:
+ Display where tap `/`'s directory is located.
+
* `--version`:
Print the version number of brew to standard error and exit.
diff --git a/Library/Homebrew/test/test_integration_cmds.rb b/Library/Homebrew/test/test_integration_cmds.rb
index 52606da080..8a7c85551f 100644
--- a/Library/Homebrew/test/test_integration_cmds.rb
+++ b/Library/Homebrew/test/test_integration_cmds.rb
@@ -124,6 +124,11 @@ class IntegrationCommandTests < Homebrew::TestCase
cmd("--repository")
end
+ def test_repository
+ assert_match "#{HOMEBREW_LIBRARY}/Taps/foo/homebrew-bar",
+ cmd("--repository", "foo/bar")
+ end
+
def test_help
assert_match "Example usage:",
cmd("help")
diff --git a/share/doc/homebrew/brew.1.html b/share/doc/homebrew/brew.1.html
index 9e9a08c74c..62a1937452 100644
--- a/share/doc/homebrew/brew.1.html
+++ b/share/doc/homebrew/brew.1.html
@@ -389,6 +389,7 @@ without any sort of versioned directory as the last path.
--prefix
formulaDisplay the location in the cellar where formula is or would be installed.
--repository
Display where Homebrew's .git
directory is located. For standard installs,
the prefix
and repository
are the same directory.
+--repository
user/
repoDisplay where tap user/
repo's directory is located.
--version
Print the version number of brew to standard error and exit.
diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1
index facddcd53b..4b259b1d71 100644
--- a/share/man/man1/brew.1
+++ b/share/man/man1/brew.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.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"
\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\.
.
.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
Print the version number of brew to standard error and exit\.
.