Merge pull request #11720 from nandahkrishna/formula-branch-audit

resource_auditor: add audit for HEAD default branch
This commit is contained in:
Nanda H Krishna 2021-08-12 19:52:21 +05:30 committed by GitHub
commit afc5804cbe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 1 deletions

View File

@ -523,9 +523,15 @@ module Homebrew
spec_name = name.downcase.to_sym
next unless (spec = formula.send(spec_name))
except = @except.to_a
if spec_name == :head &&
tap_audit_exception(:head_non_default_branch_allowlist, formula.name, spec.specs[:branch])
except << "head_branch"
end
ra = ResourceAuditor.new(
spec, spec_name,
online: @online, strict: @strict, only: @only, except: @except
online: @online, strict: @strict, only: @only, except: except
).audit
ra.problems.each do |message|
problem "#{name}: #{message}"

View File

@ -124,6 +124,20 @@ module Homebrew
end
end
def audit_head_branch
return unless @online
return unless @strict
return if spec_name != :head
return unless Utils::Git.remote_exists?(url)
branch = Utils.popen_read("git", "ls-remote", "--symref", url, "HEAD")
.match(%r{ref: refs/heads/(.*?)\s+HEAD})[1]
return if branch == specs[:branch]
problem "Use `branch: \"#{branch}\"` to specify the default branch"
end
def problem(text)
@problems << text
end