bump-formula-pr: enable same-repo (no-fork) Pull Requests
This commit is contained in:
parent
eb019ee330
commit
620e96b929
@ -38,6 +38,8 @@ module Homebrew
|
|||||||
description: "Run `brew audit --strict` before opening the PR."
|
description: "Run `brew audit --strict` before opening the PR."
|
||||||
switch "--no-browse",
|
switch "--no-browse",
|
||||||
description: "Print the pull request URL instead of opening in a browser."
|
description: "Print the pull request URL instead of opening in a browser."
|
||||||
|
switch "--no-fork",
|
||||||
|
description: "Don't try to fork the repository."
|
||||||
flag "--mirror=",
|
flag "--mirror=",
|
||||||
description: "Use the specified <URL> as a mirror URL."
|
description: "Use the specified <URL> as a mirror URL."
|
||||||
flag "--version=",
|
flag "--version=",
|
||||||
@ -324,7 +326,7 @@ module Homebrew
|
|||||||
changed_files += alias_rename if alias_rename.present?
|
changed_files += alias_rename if alias_rename.present?
|
||||||
|
|
||||||
if args.dry_run?
|
if args.dry_run?
|
||||||
ohai "try to fork repository with GitHub API"
|
ohai "try to fork repository with GitHub API" unless args.no_fork?
|
||||||
ohai "git fetch --unshallow origin" if shallow
|
ohai "git fetch --unshallow origin" if shallow
|
||||||
ohai "git add #{alias_rename.first} #{alias_rename.last}" if alias_rename.present?
|
ohai "git add #{alias_rename.first} #{alias_rename.last}" if alias_rename.present?
|
||||||
ohai "git checkout --no-track -b #{branch} #{origin_branch}"
|
ohai "git checkout --no-track -b #{branch} #{origin_branch}"
|
||||||
@ -335,27 +337,32 @@ module Homebrew
|
|||||||
ohai "create pull request with GitHub API"
|
ohai "create pull request with GitHub API"
|
||||||
else
|
else
|
||||||
|
|
||||||
begin
|
if args.no_fork?
|
||||||
response = GitHub.create_fork(tap_full_name)
|
|
||||||
# GitHub API responds immediately but fork takes a few seconds to be ready.
|
|
||||||
sleep 3
|
|
||||||
|
|
||||||
if system("git", "config", "--get-regexp", "remote\..*\.url", "git@github.com:.*")
|
|
||||||
remote_url = response.fetch("ssh_url")
|
|
||||||
else
|
|
||||||
remote_url = response.fetch("clone_url")
|
|
||||||
end
|
|
||||||
username = response.fetch("owner").fetch("login")
|
|
||||||
rescue GitHub::AuthenticationFailedError => e
|
|
||||||
raise unless e.github_message.match?(/forking is disabled/)
|
|
||||||
|
|
||||||
# If the repository is private, forking might be disabled.
|
|
||||||
# Create branches in the repository itself instead.
|
|
||||||
remote_url = Utils.popen_read("git remote get-url --push origin").chomp
|
remote_url = Utils.popen_read("git remote get-url --push origin").chomp
|
||||||
username = formula.tap.user
|
username = formula.tap.user
|
||||||
rescue *GitHub.api_errors => e
|
else
|
||||||
formula.path.atomic_write(backup_file) unless args.dry_run?
|
begin
|
||||||
odie "Unable to fork: #{e.message}!"
|
response = GitHub.create_fork(formula.tap.full_name)
|
||||||
|
# GitHub API responds immediately but fork takes a few seconds to be ready.
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
if system("git", "config", "--local", "--get-regexp", "remote\..*\.url", "git@github.com:.*")
|
||||||
|
remote_url = response.fetch("ssh_url")
|
||||||
|
else
|
||||||
|
remote_url = response.fetch("clone_url")
|
||||||
|
end
|
||||||
|
username = response.fetch("owner").fetch("login")
|
||||||
|
rescue GitHub::AuthenticationFailedError => e
|
||||||
|
raise unless e.github_message.match?(/forking is disabled/)
|
||||||
|
|
||||||
|
# If the repository is private, forking might be disabled.
|
||||||
|
# Create branches in the repository itself instead.
|
||||||
|
remote_url = Utils.popen_read("git remote get-url --push origin").chomp
|
||||||
|
username = formula.tap.user
|
||||||
|
rescue *GitHub.api_errors => e
|
||||||
|
formula.path.atomic_write(backup_file) unless args.dry_run?
|
||||||
|
odie "Unable to fork: #{e.message}!"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
safe_system "git", "fetch", "--unshallow", "origin" if shallow
|
safe_system "git", "fetch", "--unshallow", "origin" if shallow
|
||||||
|
Loading…
x
Reference in New Issue
Block a user