GitHub pull requests are too heavyweight

GitHub is a marvel. But it’s a PITA to submit pull requests. It’s too heavyweight; in particular you’re required to log in to GitHub and make a fork. Here’s what you have to do:

  1. Log in or sign up to GitHub
  2. Fork the project
  3. Check out your fork
  4. Manually “git remote add upstream”
  5. Create a branch
  6. Make your changes and commit them to the branch
  7. Push your changes back to GitHub
  8. Submit a pull request
  9. (time passes, you want to submit another patch)
  10. Pull changes from upstream to your local repo
  11. Push your merging of those changes back to GitHub
  12. Go back to step 5 for next patch.

The thing that really gets me is if I want to make a one line patch to a repo, I’m committing to creating and maintaining a fork. The necessity that I remember to pull changes from upstream and commit them if I ever revisit that project is particularly onerous. In practice I find myself deleting my forks after my pull request is done.

I’d really like to be able to do all this without GitHub, just using git’s native pull request support. Ie, let me just check out a copy of the master project (read-only), then make my changes locally and use some combination of git pull-request and git format-patch to upload my pull request to GitHub. But now that I look at it, maybe those tools aren’t robust enough. Not sure.

One thought on “GitHub pull requests are too heavyweight

  1. In practice I find myself deleting my forks after my pull request is done.

    So do I, I thought that’s how it’s supposed to be done. I never imagined any obligation to maintain such a fork – after all the Git model distinguishes forking a repo from forking a project, and the GitHub model in turn is user-centric (like a social network) rather than project-centric (like Sourceforge et al before it). I always considered these repositories simple by-products of work and meaningless unless declared otherwise.

Comments are closed.