GitHub header

Dev story: project hosting

It was a long time since the previous post and it’s the opportunity of trying a new format I call « dev story ». A less verbose post format but more based on day-to-day coder life. The story I would like to share is about the port of one of my Firefox add-on: Scroll Up Folder. I recently made big changes for this project on which I could share: first I had to change its hosting then I rewrote the whole add-on using a new SDK.

In this first part, I will develop on the new project hosting. I moved the project hosting from the RIP Google Code to the attractive GitHub. I never understand the BitBucket site navigation, for searching or comparing branches for example, and who still wants to go to SourceForge after it was busted doing account hijacking? Moreover, GitHub has features Bitbucket lakes like 2FA. Another serious competitor was GitLab. It works great and offers unlimited free private repositories. Nevertheless, I chose GitHub as I already have an account and several repositories here. Gitlab may seem like a new comer but if you have few spare times, it’s worth it try it. You could even sign in with your GitHub or BitBucket account!

GitHub Enterprise

Moving to GitHub led me to figure out how to export all data Google hold about the project and how to replace the service it offers. With the closing of GoogleCode, Google provides an exporter tool to GitHub (sorry GitLab!) which converts all the code base and the issues to a new GitHub project. This is very convenient when your project is not versioned on Git, but Subversion in my case. For the record, Scroll Up Folder started in 2004, so one year before the first release of Git. All the commit history and branches were converted, which is a good point. The bad one concerns the issue conversion. First, it discloses the user email during the conversion: issue created on GitHub refers the full email of the reporters and participants. Then, it creates and applies the GoogleCode tags on issue instead of converting it. For example, an issue which was tagged « Type-Enhancement » or « Type-Defect » on GoogleCode will have the same newly created tag instead of using the GitHub default one like « Enhancement » or « Bug ».

But the GoogleCode hosting was not only providing source versioning and bug tracker, it also offered a great integration with Google Analytics (how surprising!). GitHub isn’t so great on this point. It started the last year the Traffic Analytics feature but it’s not as complete as Google Analytics. You could see the amount of page viewed and unique visitors but I miss some information. For example, I can’t know the location or the language of my visitors so I don’t know which locale improve or add to match the user population. If you would like to keep some data on Google Analytics, there is a trick to add a tracker on readme or wiki pages: Google Analytics Beacon. It can provide more details on visitor but it’s still limited.

A few weeks passed now and I must admit I don’t regret the change. GoogleCode was old and slow (try to make a Subversion checkout of any project on GoogleCode to convince yourself!). If the Apache Foundation doesn’t still using Subversion, I should removed all my Subversion clients. I feel that users have followed: new issues and even a fork was created! Meanwhile, I would like to thanks all the free hosting services for open-sourced projects. I mean, the add-on may not be as complete as it is if such services do not exist and if users could not freely share their ideas with developers. Moreover, as developers, we have the choice of the service which is a great freedom. I hope the post will help those who need to port their dying project on GoogleCode.

P.S.: I I saw this nice lightening talk on DevoxxFr about why « you should not use Git ». It’s worth watching it to convince you 😉