I don’t like GitHub’s pull interface. They make merge commits, which suck. And I want to work from the command line, not the web site.
When I noticed that I was losing on the scoreboard, I wrote a quick and dirty script to list open pull requests for a repository from the command line: github-list-pulls.
You'll need a GitHub token, as I describe in "How to move CPAN RT tickets to Github". And you'll need to put it and your user name in your ~/.gitconfig file. Or you need to edit my code to store those another way.
It works like this:
$ cd ~/git/path-iterator-rule
$ github-list-pulls
dagolden/path-iterator-rule:
2013-02-28T21:48:19Z Implementation for line_match and contents_match rules
Includes test cases and documentation.
Link: https://github.com/dagolden/path-iterator-rule/pull/8
git-fetch-branch git://github.com/tobyink/path-iterator-rule.git master
That last line lets me copy and paste the command for another script I have that creates a local review branch of a pull: git-fetch-branch.
Here’s how that one works:
$ git-fetch-branch git://github.com/tobyink/path-iterator-rule.git master Fetched git://github.com/tobyink/path-iterator-rule.git master -> review/tobyink-master
Then I can work with the local review/tobyink-master branch to inspect it, rebase it, cherry-pick it, amend it, run tests or whatever.
I’m glad the pull requests and related discussions are on GitHub, but I like working with them locally. Now I can.