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 formula

Display 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/repo

Display 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 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