Homebrew / brew

🍺 The missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
41.2k stars 9.68k forks source link

Enhance `brew contributions`. #13642

Closed issyl0 closed 1 year ago

issyl0 commented 2 years ago

Provide a detailed description of the proposed feature

In the review comments of https://github.com/Homebrew/brew/pull/13603, multiple things were suggested as future enhancements to this command. In no particular order:

What is the motivation for the feature?

Deal with the leftover feature requests that were too big for the initial MVP.

The third one in the list:

Count "PRs reviewed ✅ or 🟥 by" (which implies write access).

is the most important in my view. Currently, brew contributions only tracks code (co-)authored by a person. That fails to surface a large amount of what Homebrew maintainers do: community contributions, user support, PR reviews (I'm thinking particularly in Homebrew/homebrew-core). Without people reviewing PRs, we couldn't run this project.

How will the feature be relevant to at least 90% of Homebrew users?

It won't, but this is a development command useful for project leadership to gather stats on project momentum and maintainer engagement.

What alternatives to the feature have been considered?

Not implementing the features. It works adequately now, at a basic level, if all we care about is raw commits.

troymccabe commented 2 years ago

If nobody's taken a look at this I'd be interested in it! Think I have a thread to pull on grabbing the data requested via the graphql api, which should also be able to give us pr activity.

troymccabe commented 2 years ago

Would something like the following be beneficial?

+------------------------------------------------------------------------------+
| Contributions for <user_or_email>                                            |
+------------------------+-----------------+-----------------+-----------------+
| Repository             | Commits         | Co-authorships  | Signoffs        |
+------------------------+-----------------+-----------------+-----------------+
| brew                   | 31              | 0               | 0               |
| core                   | 256             | 0               | 0               |
| cask                   | 2252            | 503             | 2035            |
| aliases                | 0               | 0               | 0               |
| autoupdate             | 0               | 0               | 0               |
| bundle                 | 0               | 0               | 0               |
| command-not-found      | 0               | 0               | 0               |
| test-bot               | 0               | 0               | 0               |
| services               | 0               | 0               | 0               |
| cask-drivers           | 217             | 29              | 0               |
| cask-fonts             | 472             | 12              | 0               |
| cask-versions          | 325             | 27              | 0               |
+------------------------+-----------------+-----------------+-----------------+
| Total                  | 3553            | 571             | 2035            |
+------------------------+-----------------+-----------------+-----------------+
issyl0 commented 2 years ago

That looks awesome, @troymccabe! Really looking forward to your PR! 😄

MikeMcQuaid commented 2 years ago

@troymccabe Yeh this would be great 🎉

troymccabe commented 2 years ago

Awesome! Looking for a way to get PR comments & rejections if those would be valuable as well

On Thu, Sep 22, 2022 at 4:12 AM Mike McQuaid @.***> wrote:

@troymccabe https://github.com/troymccabe Yeh this would be great 🎉

— Reply to this email directly, view it on GitHub https://github.com/Homebrew/brew/issues/13642#issuecomment-1254747426, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ5KHYZ4AJVNMTVOSGWCMLV7QPGRANCNFSM55PZK33A . You are receiving this because you were mentioned.Message ID: @.***>

issyl0 commented 1 year ago

The latest desired features here:

issyl0 commented 1 year ago

Closing this since the big items are completed. The remaining thing that uses git log is the coauthors data retrieval. When the GitHub APIs support that filter (I'm working on it) I'll use it.