Idiomdrottning’s homepage

GitHub’s li’l pencil

Over the last year or so, I’ve used the li’l “pencil icon” on GitHub to make changes directly in the web interface many times, and then following their wizard all the way to automatically making GitHub’s twisted version of a “pull request”. (Make sure to not have “hide email” on in your settings if you do this or your contributions will get obfuscated.)

I’ve sometimes felt a bit guilty. I rag on GitHub all the time, I hate it, I don’t have a forge up on my own site—but they have a feature that I’ve used so many times for small contributions! If that pencil is so darn good—shouldn’t I provide a similar feature or even move my stuff over to GitHub?

But as I thought about it a li’l more, I sobered up and realized that the pencil itself is more of a mitigation for how bad GitHub is, than a baseline good.

To make changes on GitHub projects without the pencil, it’s…

  1. Make a fork using the web interface.
  2. Make a branch using the web interface.
  3. git clone -b my-new-branch-name https://my-fork-repo-url.git
  4. Run git branch to see that I’m in the new branch.
  5. Make changes (or paste them in if I accidentally already have my own local version)
  6. git add the files
  7. git commit with a good message
  8. git push
  9. Go back to the web interface and try to remember how to make pull requests.

Compared to a normal, non-GitHub repo where it’s just easier to git send-email or git request-pull.It works for GitHub-hosted repos too, if I believe they’re gonna be cool with normal patch mail or normal requests to pull.

With the pencil method, I still need to:

  1. Find the right file and location, without my familiar and beloved grepping or source browsing tools
  2. Make edits with their crappy web editor or paste them in from a real one
  3. Not be able to test, compile etc (unless I also did the same change on a local copy), so it’s mostly usable for documentation changes

The pencil is smoother and simpler than the long-way-around for GitHub, but it’s just not as smooth as being able to use and contribute from my own local copy directly, the way I can with git send-email. Especially with straight for Emacs making things so easy since it hooks up my local repo directly with describe-function and friends.

That’s not to say that I’d never wanna add a similar “web-editing” feature to my own stack as an alternate way to contribute, but first and foremost I’m glad I support the primary workflow, which is people using git or git clients and real editors instead of browsers.

TL;DR: Sandra hates the web, news at eleven