- Functionally it doesn't matter that the URL will have an `&` at the
end if `additional_query_params` is `nil`, because it doesn't affect
the URL at all.
- These are arbitrary length limits that had a load of disables in code.
- The limits were only increasing over time rather than decreasing.
- Fixing the problematic code to be shorter would take a long time for
questionable gain since the problem has been around so long.
brew --prefix python errors out when the python package is not
installed, so using that instead of brew --prefix prevents python
package installation issues from silently breaking, for example, shell
env scripts that add this to $PATH.
See https://github.com/orgs/Homebrew/discussions/3596#discussioncomment-5050569
As of `brew` 4.0.2, sourcing the Bash completions with `set -eu` causes a
failure if `POSIXLY_CORRECT` is not declared. The check will now
properly handle this situation.
I'm not sure if the resulting code is POSIX-compliant, but it prevents a
breaking change until a better solution can be found.
- Using `git log` was brittle with name changes and email address changes for
contributors over the years unless we made a Git `mailmap` file which brings
with it its own updatedness overhead.
- Let's use the GitHub commits API (importantly _not_ the search API) so that
we can give it a username and it will return contributions associated with
every email address on that user's account:
https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#list-commits--parameters.
- This is quite significantly slower, but it's worth it for correctness
especially when we get to all maintainers' contributions (in a separate PR).
- The commits API does not (yet?) support trailers or commit "committer"s, just
authors.
- For annual "has this person contributed enough", we focus on the main
Homebrew repos: brew, core and cask. Let's make that easier than
`--repositories=brew,core,cask`.
- The Actions logs link for the Homebrew/formula-analytics CI failure is long expired.
- I removed the excludes, ran `brew tap homebrew/formula-analytics` and then
`brew style $(brew --repo homebrew/formula-analytics)` and there were no
errors.
- Hence, I think we can clean this stanza up entirely.
- We're not going to make the really long things be any shorter any time soon.
- The instructions in issue 14685 say, pragmatically, "disable all the rubocop
rules we're never going to realistically fix e.g. Metrics/ClassLength". But
that felt like a slippery slope to more _really_ long modules/classes/blocks,
and the limits are here for a reason.