Twitter github

Posts Tagged with “github”

Improved GitHub Code Review Tools

The default GitHub code review experience has always been lacking for me, especially when it comes to code review enforcement. I definitely admit to my bias of being a Gerrit code review fan but at least GitHub is moving in the right direction with recent code review improvements earlier this year.

On the bright side, GitHub has a fairly open API and there’s been a great ecosystem of tools that have popped up that help deal with some of the shortcomings in my opinion. Even more so after GitHub opened up the commit status API, it’s definitely enabled some interesting workflows.


One interesting code review workflow involves enforcing that changes must be reviewed by certain team members (which is a fairly common code review practice). In my opinion, the best tool that I’ve come across that handle this scenario is PullApprove. All you need is a simple metadata file that formalizes your requirements, and you’re good to go, here’s an example of what we use in the OCI project:

approve_by_comment: true
approve_regex: '^(Approved|lgtm|LGTM|:shipit:|:star:|:\+1:|:ship:)'
reject_regex: ^Rejected
reset_on_push: true
required: true
- image-spec-maintainers
name: default
required: 2

The important pieces here are the approve/reject regexes which dictate what terms will be used to approve and reject changes:

As a bonus, the “signed_off_by” setting can be used to enforce DCO which is to make sure your commits are properly signed off for DCO purposes.


I also want to give an honorable mention to LGTM which is a simple pull request approval system that is open source but not as configurable as PullApprove IMHO.

For any large scale and high velocity projects on GitHub, managing what you need to review can be a daunting task. I’ve personally found as an interesting tool that helps address the problem of managing the context of what you looked last and what’s on your queue.

Anyways, hope this helps and happy code reviewing! If you’re interested in more integrated GitHub code review tools, I highly recommend checking out the GitHub integration directory.

Searching the GitHub Archive

Since it’s getting close to the end of the year, I’ve been working on generating some “year in review” reports for company related open source activity. As part of this effort, I stumbled across the GitHub Archive project by @igrigorik.

Essentially, it allows you to query the GitHub timeline (note: timeline data is available starting February 12, 2011). As an added convenience, the data is also available on Google BigQuery via a public dataset to make it easy to try out a few queries before downloading all the archive data locally. A couple downsides to Google BigQuery are that  the user interface is a bit clunky and there are query quotas in place (unless you sign up for the service), other than that it’s pretty straightforward to use.

Of course I got distracted from my initial task and started to search for profanity usage across the GitHub timeline in 2012. I mean, who isn’t interested in seeing how many instances of the seven dirty words they can find across the GitHub timeline? It all starts with a simple query (see the gist).

How many instances did I come across?

37,674 as of today (also posted a CSV online).

Here are some of my favorites:

After this distraction, I was happy add the new word “refuckulate” to my lexicon.

Enjoy grokking the GitHub Archive, I highly recommend it!

Following Projects on Github

There was a question on the linuxtools-dev mailing list recently about how to follow the commits of the project. While you can certainly create a git commit hook to email a mailing list after each commit, you can also easily follow projects on Github if you’re interested in them.

If you don’t want to watch the project and just focus on the commits, you can do that via RSS

On top of that, you can even follow your favorite committer! Getting mirrored on Github is one of the benefits of moving to Git at, so please try to do it soon as the SCM countdown is on its way… only 395 days until CVS/SVN will no longer be an option!

GitHub and Eclipse Git Repository Mirroring

I recently refreshed the repositories mirrored on GitHub.

I’m pleased to report that we are up to 95 repositories mirrored on GitHub, up from 70 repositories a couple months ago. For example, projects like the C/C++ Development Tools (CDT) are completely mirrored on GitHub now so you can watch them (the repositories are synced about every 10 minutes so beware of the delay).

I hope that by the end of this year, we have the majority of projects mirrored! Enjoy!

Eclipse and Mylyn GitHub Integration

Do you recall the recent now mirrored at GitHub? Well, I have good news, within the EGit project at, we have started creating some tooling to integrate GitHub. At the moment, we only support working with GitHub Issues and Gists…

In the future, we’re looking at integrating with other parts of the GitHub API, but for now we are targetting solid Gist and Issues support from within Eclipse for the Indigo release in June 2011. I can only imagine how cool it would be to work with GitHub pull requests from within Eclipse, but good things come to those who wait (or contribute). To test out the tooling, please add this repository to Eclipse:

It’s important to note that the tooling should be considered alpha-level and we’re really seeking people to test and contribute to the project. You will run into issues using the tooling and you should keep that in mind. You can find more information on the contributor guide or take a peak at the code at its GitHub mirror. If you find any bugs or have enhancement ideas, please file them here.

I would like to thank Kevin Sawicki from GitHub and Christian Trutz who pushed me a bit to get the initial tooling contribution in place at so people can contribute. In open source, sometimes it takes having a frosty beverage with someone to move things along… and GitHub

I’m happy to announce we finally setup mirroring of repositories on GitHub.

I think this is an important step to making the codebase more accessible for people to fork and contribute changes. If you’re an project accepting changes from someone on GitHub, please check the official policy on handling Git contributions. If you’re an project and you don’t see yourself on the mirrored repository list at GitHub, you have to:

  • First move to Git if you haven’t already at
  • If you’re on Git already and don’t see your self on the list, file a bug against Community->Git

If you need more information, please check out the wiki for more information about GitHub. I also want to thank Wayne Beaton for his portal metadata wrangling and Ketan Padegaonkar for helping out with this effort.