Ok, I'm officially fed up with SVN. For the past 4 years, I've lost countless hours to its peculiarities and general slowness. It's time for a change.
- it is fast and powerful
- it is extremely intuitive
- it is cross-platform
- it integrates well with Launchpad (more on that later)
In short, it has the right balance of features, speed and usability for a project like OpenTK.
I have to add that I was very tempted to go with Git, but ultimately decided against it. Git is a great tool but it has two deal-breaking deficiencies:
- it is significantly less intuitive than Bazaar and has a pretty steep learning curve (the manual for "git log" is 24 pages long)
- git-svn takes more than an hour to pull OpenTK from Sourceforge.
On the upside, Git is blazing fast and has a huge community behind it. While this doesn't outweigh the disadvantages for OpenTK, it is the weapon of choice for many open-source developers - git-bzr should take care of that.
Now Launchpad. I must say that I really like the Launchpad-Bazaar synergy. Downloading OpenTK is as simple as:
bzr branch lp:opentk
and a few seconds later you have your local copy.
Another great feature is the ability to upload branches to your account and link them to bug reports. Hacking OpenTK now becomes trivial: branch, modify, upload. I'll be notified of your branch automatically and will review and merge as necessary. Great!
Now the plan goes something like this:
- Import opentk/trunk and opentk/branches/gl4 to Launchpad (done).
- Enable OpenID logins on http://www.opentk.com so you can use your Launchpad login here.
- Bug Canonical to implement feature #210943, so you can use your opentk.com login in Launchpad (if you happen to have a Launchpad login, please upvote this issue!)
- Pick between the Launchpad or the local bug tracker and disable the other.
- Ensure everything is working correctly and disable the SourceForge repositories.
(If you've read this far, let me share a little secret: https://launchpad.net/opentk-demo)