aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2012-03-04 14:17:54 +0000
committerMax Howell2012-03-16 21:06:15 +0000
commit3f25dd60fa74034ade3a8136f072a7275a4feb87 (patch)
treebe7bb07b5fa6e98aa4a4dad57c3796d8ea7f23f5
parent903b1167a67335f9ada69075e4cc12895d43f1cb (diff)
downloadbrew-3f25dd60fa74034ade3a8136f072a7275a4feb87.tar.bz2
canonical_name can resolve taps
-rw-r--r--Library/Homebrew/cmd/tap.rb4
-rw-r--r--Library/Homebrew/formula.rb9
2 files changed, 9 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/tap.rb b/Library/Homebrew/cmd/tap.rb
index a311af7f0..74f0b20d7 100644
--- a/Library/Homebrew/cmd/tap.rb
+++ b/Library/Homebrew/cmd/tap.rb
@@ -30,14 +30,14 @@ module Homebrew extend self
if $?.success?
gitignores << relative_pathname.basename.to_s
else
- opoo "#{relative_pathname.basename, ".rb"} conflicts"
+ opoo "#{relative_pathname.basename('.rb')} conflicts"
end
end
tf = Tempfile.new("brew-tap")
tf.write(gitignores.uniq.join("\n"))
tf.close
- mv tf.path, "#{HOMEBREW_PREFIX}/Library/Formula/.gitignore"
+ mv tf.path, "#{HOMEBREW_LIBRARY}/Formula/.gitignore"
end
private
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index d2d8995d2..9dcc3b860 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -283,7 +283,6 @@ class Formula
end
def self.canonical_name name
- # Cast pathnames to strings.
name = name.to_s if name.kind_of? Pathname
formula_with_that_name = HOMEBREW_REPOSITORY+"Library/Formula/#{name}.rb"
@@ -291,7 +290,13 @@ class Formula
possible_cached_formula = HOMEBREW_CACHE_FORMULA+"#{name}.rb"
if name.include? "/"
- # Don't resolve paths or URLs
+ if name =~ %r{(.+)/(.+)/(.+)}
+ tapd = HOMEBREW_REPOSITORY/"Library/Taps/#$1-#$2"
+ tapd.find_formula do |relative_pathname|
+ return "#{tapd}/#{relative_pathname}" if relative_pathname.stem.to_s == $3
+ end if tapd.directory?
+ end
+ # Otherwise don't resolve paths or URLs
name
elsif formula_with_that_name.file? and formula_with_that_name.readable?
name