Today EllisLab completes its distributed source control system transition from Mercurial to Git. We began this transition at the end of June and have been using Git internally for over a month now, including the CodeIgniter Reactor engineers who joined us in July.
Since making the change from Subversion to a distributed version control system in March of 2010, EllisLab has been a proponent of Mercurial. The few divergent features between it and Git played a large role in the team’s choice of Mercurial for our specific needs. But those needs along with our team composition has greatly changed, which brings us full swing, where those few divergent features now clearly point us at Git.
Beanstalk was also instrumental in this switch, as one of the original reasons we settled on Mercurial was its user-friendliness to those shy of the command line. In addition to their fantastic access and management features, their online code editor allows some changes to be made without a staff member even having to learn how to clone a local repository.
Mercurial served us well, as has the social coding web site Bitbucket, where CodeIgniter enjoyed a prominent position as one of the most followed projects of all time. And we do not plan in the short term to be leaving that community entirely.
Effects of the Change
A source control system is only a tool though and would not typically warrant a public announcement unless it impacted the community. Once the decision was made, our challenge was to execute in a way that benefitted not only our staff but our community as well. So I am pleased to announce as part of this transition that EllisLab today has a significant presence on GitHub, beginning with the following:
- A vast number of first party ExpressionEngine add-ons now have their home at GitHub, and have been relicensed with the MIT (X11) License to allow for easy revision and contribution.
- CodeIgniter has been moved to GitHub.
- To simplify CodeIgniter development, “Core” is no longer being publicly maintained or distributed, and CodeIgniter “Reactor” is now known simply as CodeIgniter. The community partnered development program will retain the Reactor name, however.
- The issue tracker at BitBucket has been closed in favor of GitHub. There is no need to re-enter issues, as all existing issues have been migrated.
We have also latched on to git-flow, a branching model that has already proven itself valuable in improving our ability to get incremental releases to you more quickly and less prone to error. If you are a Git user, we highly recommend it.
Finally, GitHub now joins Twitter, Google+, and Facebook as a place where we exist to serve the Community. We’ll see you there.