bump-formula-pr: rename versioned alias if necessary
This commit is contained in:
parent
59b1d63bb0
commit
2d9e7922b9
@ -273,6 +273,12 @@ module Homebrew
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias_rename = alias_update_pair(formula, new_formula_version)
|
||||||
|
if alias_rename.present?
|
||||||
|
ohai "renaming alias #{alias_rename.first} to #{alias_rename.last}"
|
||||||
|
alias_rename.map! { |a| formula.tap.alias_dir/a }
|
||||||
|
end
|
||||||
|
|
||||||
if args.dry_run?
|
if args.dry_run?
|
||||||
if args.no_audit?
|
if args.no_audit?
|
||||||
ohai "Skipping `brew audit`"
|
ohai "Skipping `brew audit`"
|
||||||
@ -282,6 +288,7 @@ module Homebrew
|
|||||||
ohai "brew audit #{formula.path.basename}"
|
ohai "brew audit #{formula.path.basename}"
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
FileUtils.mv alias_rename.first, alias_rename.last if alias_rename.present?
|
||||||
failed_audit = false
|
failed_audit = false
|
||||||
if args.no_audit?
|
if args.no_audit?
|
||||||
ohai "Skipping `brew audit`"
|
ohai "Skipping `brew audit`"
|
||||||
@ -294,6 +301,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
if failed_audit
|
if failed_audit
|
||||||
formula.path.atomic_write(backup_file)
|
formula.path.atomic_write(backup_file)
|
||||||
|
FileUtils.mv alias_rename.last, alias_rename.first if alias_rename.present?
|
||||||
odie "brew audit failed!"
|
odie "brew audit failed!"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -302,13 +310,16 @@ module Homebrew
|
|||||||
branch = "#{formula.name}-#{new_formula_version}"
|
branch = "#{formula.name}-#{new_formula_version}"
|
||||||
git_dir = Utils.popen_read("git rev-parse --git-dir").chomp
|
git_dir = Utils.popen_read("git rev-parse --git-dir").chomp
|
||||||
shallow = !git_dir.empty? && File.exist?("#{git_dir}/shallow")
|
shallow = !git_dir.empty? && File.exist?("#{git_dir}/shallow")
|
||||||
|
changed_files = [formula.path]
|
||||||
|
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"
|
||||||
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 checkout --no-track -b #{branch} origin/master"
|
ohai "git checkout --no-track -b #{branch} origin/master"
|
||||||
ohai "git commit --no-edit --verbose --message='#{formula.name} " \
|
ohai "git commit --no-edit --verbose --message='#{formula.name} " \
|
||||||
"#{new_formula_version}#{devel_message}' -- #{formula.path}"
|
"#{new_formula_version}#{devel_message}' -- #{changed_files.join(" ")}"
|
||||||
ohai "git push --set-upstream $HUB_REMOTE #{branch}:#{branch}"
|
ohai "git push --set-upstream $HUB_REMOTE #{branch}:#{branch}"
|
||||||
ohai "git checkout --quiet -"
|
ohai "git checkout --quiet -"
|
||||||
ohai "create pull request with GitHub API"
|
ohai "create pull request with GitHub API"
|
||||||
@ -338,10 +349,11 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
safe_system "git", "fetch", "--unshallow", "origin" if shallow
|
safe_system "git", "fetch", "--unshallow", "origin" if shallow
|
||||||
|
safe_system "git", "add", *alias_rename if alias_rename.present?
|
||||||
safe_system "git", "checkout", "--no-track", "-b", branch, "origin/master"
|
safe_system "git", "checkout", "--no-track", "-b", branch, "origin/master"
|
||||||
safe_system "git", "commit", "--no-edit", "--verbose",
|
safe_system "git", "commit", "--no-edit", "--verbose",
|
||||||
"--message=#{formula.name} #{new_formula_version}#{devel_message}",
|
"--message=#{formula.name} #{new_formula_version}#{devel_message}",
|
||||||
"--", formula.path
|
"--", *changed_files
|
||||||
safe_system "git", "push", "--set-upstream", remote_url, "#{branch}:#{branch}"
|
safe_system "git", "push", "--set-upstream", remote_url, "#{branch}:#{branch}"
|
||||||
safe_system "git", "checkout", "--quiet", "-"
|
safe_system "git", "checkout", "--quiet", "-"
|
||||||
pr_message = <<~EOS
|
pr_message = <<~EOS
|
||||||
@ -440,4 +452,16 @@ module Homebrew
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def alias_update_pair(formula, new_formula_version)
|
||||||
|
versioned_alias = formula.aliases.grep(/^.*@\d+(\.\d+)?$/).first
|
||||||
|
return if versioned_alias.nil?
|
||||||
|
|
||||||
|
name, old_alias_version = versioned_alias.split("@")
|
||||||
|
new_alias_regex = (old_alias_version.split(".").length == 1) ? /^\d+/ : /^\d+\.\d+/
|
||||||
|
new_alias_version, = *new_formula_version.to_s.match(new_alias_regex)
|
||||||
|
return if Version.create(new_alias_version) <= Version.create(old_alias_version)
|
||||||
|
|
||||||
|
[versioned_alias, "#{name}@#{new_alias_version}"]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user