We're happy to announce that the Habari project has migrated source control and issues ticketing to Github. Of course, this means we're now using git for source control and bidding farewell to subversion. We're also bidding farewell to Trac (and putting it in a little boat and on the river and setting it on fire).
The details of our repositories and how to get set up are on the wiki. They're a work in progress, so let us know what sucks about them (or improve them!).
Why we moved to git
There are things that git does better than subversion. Some of those things are:
- in place branching; no need for a ton of different branches and checkouts, all your Habari work can happen in the same place,
- simpler sharing of in-progress work with forks and branches (though the word 'fork' is used in a different sense in git than in the history of open source),
- being able to stash changes; save your changes into any number of "stashes" so you can quickly pull in new changes, make more edits, and then merge your changes back in,
- submodules are more powerful than svn externals; they check out a specific commit, not just the current revision (though they're tricker to handle than externals, for just this reason).
And there are things that subversion does better than git, despite what the fans tell you. In the end, git is source control software that does things with a bit of different syntax, and we probably wouldn't have moved if it wasn't for Github.
Why we're moving to Github
Github makes it incredibly easy for developers to contribute, and for us to pull in their contributions, and many potential developers already have Github accounts. Of course making it easy to contribute to the Habari project is very attractive.
Additionally, some of our best and brightest have spent countless hours trying to get Trac to work well for us. Any time any of us spends fighting with (restarting, troubleshooting, updating, etc) Trac is time that would be better spent making Habari better, and we can offload that responsibility and maintenance onto Github.
So we're moving to Github because:
- there's a vibrant and active developer community on Github,
- pull requests allow Github users to easily supply changes that can be tested and, importantly, reviewed, commented on, and improved,
- pull requests are easier to manage than patches, and patches are still possible using the ticket system and diffs; here is an example of a pull request using the Dark Autumn Habari theme,
- no Trac-hosting resource-devouring headaches,
- the potential for greater visibility of the Habari project through the Github community,
- more powerful code review tools, with commit-level and line-level commenting.
To celebrate the move, and get the community familiar with how things will work now we're on Github, we're having a code sprint on the weekend of July 16, details in a forthcoming post.