dev-cmd/contributions: Fix single-user handling; be more verbose
- `brew contributions --user=issyl0` was taking forever because it went through all maintainers first, because the conditionals were in the wrong order. - This was too quiet, far too quiet, for something that takes so long. - Now verbose mode tells you what repos it's scanning for a user.
This commit is contained in:
parent
dd32c7a92c
commit
d40bd0ae3e
@ -58,7 +58,15 @@ module Homebrew
|
|||||||
args.repositories
|
args.repositories
|
||||||
end
|
end
|
||||||
|
|
||||||
return ofail "CSVs not yet supported for the full list of maintainers at once." if args.csv? && args.user.nil?
|
if args.user
|
||||||
|
user = args.user
|
||||||
|
results[user] = scan_repositories(repos, user, args)
|
||||||
|
puts "#{user} contributed #{total(results[user])} times #{time_period(args)}."
|
||||||
|
puts generate_csv(T.must(user), results[user]) if args.csv?
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
return ofail "CSVs not yet supported for the full list of maintainers at once." if args.csv?
|
||||||
|
|
||||||
maintainers = GitHub.members_by_team("Homebrew", "maintainers")
|
maintainers = GitHub.members_by_team("Homebrew", "maintainers")
|
||||||
maintainers.each do |username, _|
|
maintainers.each do |username, _|
|
||||||
@ -71,13 +79,6 @@ module Homebrew
|
|||||||
results[username] = scan_repositories(repos, username, args)
|
results[username] = scan_repositories(repos, username, args)
|
||||||
puts "#{username} contributed #{total(results[username])} times #{time_period(args)}."
|
puts "#{username} contributed #{total(results[username])} times #{time_period(args)}."
|
||||||
end
|
end
|
||||||
|
|
||||||
return unless args.user
|
|
||||||
|
|
||||||
user = args.user
|
|
||||||
results[user] = scan_repositories(repos, user, args)
|
|
||||||
puts "#{user} contributed #{total(results[user])} times #{time_period(args)}."
|
|
||||||
puts generate_csv(T.must(user), results[user]) if args.csv?
|
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { params(repo: String).returns(Pathname) }
|
sig { params(repo: String).returns(Pathname) }
|
||||||
@ -139,6 +140,8 @@ module Homebrew
|
|||||||
tap.full_name
|
tap.full_name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
puts "Determining contributions for #{person} on #{repo_full_name}..." if args.verbose?
|
||||||
|
|
||||||
data[repo] = {
|
data[repo] = {
|
||||||
commits: GitHub.repo_commit_count_for_user(repo_full_name, person),
|
commits: GitHub.repo_commit_count_for_user(repo_full_name, person),
|
||||||
coauthorships: git_log_trailers_cmd(T.must(repo_path), "Co-authored-by", person, args),
|
coauthorships: git_log_trailers_cmd(T.must(repo_path), "Co-authored-by", person, args),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user