diff options
| author | Xu Cheng | 2015-07-30 16:51:00 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-07-30 21:28:52 +0800 |
| commit | a9b9c5ade798ca8378f9e8bf3d82f6f2b01d8312 (patch) | |
| tree | 436a8b69df1efb5d6fc80b1c611ac6fe5dd65b79 | |
| parent | 8c7b6291491ec0a6d50c7b0dfcc4912d12253418 (diff) | |
| download | brew-a9b9c5ade798ca8378f9e8bf3d82f6f2b01d8312.tar.bz2 | |
Tap: allow enumerate non-git taps
Also add a `Tap#git?` method to indicate whether the tap is a git
repository.
Closes Homebrew/homebrew#42264.
Signed-off-by: Xu Cheng <xucheng@me.com>
| -rw-r--r-- | Library/Homebrew/cmd/update.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/tap.rb | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index ba03d34a4..189a911db 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -27,7 +27,7 @@ module Homebrew # this procedure will be removed in the future if it seems unnecessasry rename_taps_dir_if_necessary - Tap.each do |tap| + Tap.select(&:git?).each do |tap| tap.path.cd do updater = Updater.new(tap.path) diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index 6dc83473b..27777e431 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -37,7 +37,7 @@ class Tap # e.g. `https://github.com/user/homebrew-repo` def remote @remote ||= if installed? - if (@path/".git").exist? + if git? @path.cd do Utils.popen_read("git", "config", "--get", "remote.origin.url").chomp end @@ -49,6 +49,11 @@ class Tap end end + # True if this {Tap} is a git repository. + def git? + (@path/".git").exist? + end + def to_s name end @@ -117,9 +122,7 @@ class Tap TAP_DIRECTORY.subdirs.each do |user| user.subdirs.each do |repo| - if (repo/".git").directory? - yield new(user.basename.to_s, repo.basename.to_s.sub("homebrew-", "")) - end + yield new(user.basename.to_s, repo.basename.to_s.sub("homebrew-", "")) end end end |
