From b8a4677de09082cb0e4850f38cfcb0201f0166ac Mon Sep 17 00:00:00 2001
From: Xu Cheng
Date: Wed, 23 Mar 2016 16:33:40 +0800
Subject: --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 e2a5feb13..b697b3eaa 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 d884d6702..aa88b373d 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 52606da08..8a7c85551 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 9e9a08c74..62a193745 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.
--repositoryDisplay 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.
--versionPrint 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 facddcd53..4b259b1d7 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\.
.
--
cgit v1.2.3