aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2015-03-20 17:43:04 +0000
committerMike McQuaid2015-03-20 17:46:18 +0000
commit3f9d5aad7499f6a3f5ef7640dc479e66613d763a (patch)
treeee1e05cbdb63dd8d349eca9ff2c9326ea0d8b449 /Library
parent2d1c8b4de4aabd638fb78456044be602adfaddea (diff)
downloadbrew-3f9d5aad7499f6a3f5ef7640dc479e66613d763a.tar.bz2
pull: allow pulling from API URLs.
Jenkins has started spitting these out; no idea why.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/pull.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/pull.rb b/Library/Homebrew/cmd/pull.rb
index 5aaa09a64..654ef1fe6 100644
--- a/Library/Homebrew/cmd/pull.rb
+++ b/Library/Homebrew/cmd/pull.rb
@@ -6,6 +6,8 @@ require 'formula'
require 'cmd/tap'
module Homebrew
+ HOMEBREW_PULL_API_REGEX = %r{https://api\.github\.com/repos/([\w-]+)/homebrew(-[\w-]+)?/pulls/(\d+)}
+
def tap arg
match = arg.match(%r[homebrew-([\w-]+)/])
match[1].downcase if match
@@ -60,6 +62,11 @@ module Homebrew
url = 'https://github.com/Homebrew/homebrew/pull/' + arg
issue = arg
else
+ if (api_match = arg.match HOMEBREW_PULL_API_REGEX)
+ _, user, tap, pull = *api_match
+ arg = "https://github.com/#{user}/homebrew#{tap}/pull/#{pull}"
+ end
+
url_match = arg.match HOMEBREW_PULL_OR_COMMIT_URL_REGEX
unless url_match
ohai 'Ignoring URL:', "Not a GitHub pull request or commit: #{arg}"