Y’all know I hate GitHub, including the amount of hoop jumping needed to contribute to projects hosted on there.
The gh
cli app fixes that.
After having set it up it’s as easy to contribute to GitHub-hosted
projects as it is to use more normal git repos that accept
send-email
.
I have a shell script that I can run in any cloned github repo where
I’ve made changes; the script then checks if head is detached, asks me
if I’m happy with the current branch name or prompts me for a
replacement, commits everything, and then calls gh pr create --fill
which in turn automatically does all that fiddly web stuff I was
complaining about above: creating the fork if there already isn’t one,
pushes it, and opens a pull request. Or if I’ve already committed my
changes locally I can still call gh pr create --fill
(or without the
flag if I feel like writing pull request text).
So from a convenience level I can’t complain about GitHub anymore. The political argument remains: shouldn’t we as coders own our means of production? It’s bonkers that contributing to projects requires a Microsoft account.
I used to read a blog that argued for how home cooking was cheaper, easier, and faster than store-bought readymades. Cheaper and healthier, sure, but it was a bit disingenuous that he counted the time spent “going to the store, being at the store, deciding what to buy, buying it, going home” for the ready mades but never for the home cooked meals.
Similarly, I can’t in good faith argue the convenience argument with GitHub now that their dumb li’l app has made it slightly less painful to automate forking and pull-request creation.
The underlying complexity argument also remains: GitHub is way more complicated to understand conceptually than non-GitHub git, in addition to being so different that it makes vanilla non-GitHub git seemingly hard to grok if the GitHub version was your first exposure. But that complexity argument is just a grokkability obstacle and now no longer a practical usability obstacle. For those that have been forced to created GitHub accounts, that is.
I’m going to stick to avoiding GitHub for my own projects.
Of course, for the poor sucker who is going to have to deal with all those incoming pull requests, that’s another thing entirely. On that side of the equation, the convenience argument is alive and well.
Gitea figured out a way to do the same thing without even having to install a special app.