On the last day of the hackfest, we discussed git over lunch. A few folks on IRC had questions about what we talked about, and I figured there'd be wider interest so am writing this up.
What is motivating us to switch? Is bzr going away?
Development of bzr has stopped. A couple years ago Canonical reassigned all the bzr devs to other projects, leaving just a skeleton staff to do bug maintenance (same was done with Launchpad). There had been a time when Canonical pushed bzr as the Cat's Meow, but I think the realization has sunk in that git has won the larger hearts and minds war.
bzr is not going away though, near as I can tell. There's no urgency to move to something else; we can stay with it indefinitely if we want. But it's a dead end tool. As we recruit new developers we will find more often they have git experience but not bzr; eventually bzr will be a detriment to attracting new talent that will prefer to invest their skills in git. And there's no guarantee Canonical won't pull the plug on it at some point, regardless.
There are also tons of tools, web applications, and so on being developed for git. What exists for bzr is in process of bitrotting away (e.g. I tried to install the rebase plugin last night but it's several bzr revisions out of date, and did not work.)
Isn't git hard to learn? bzr seems so natural...
git has a reputation for having a high learning curve, and it's legitimately earned. But most all of us have at least had a little exposure to git, and there are plenty of good tutorials out there.
git was a struggle for me to learn, so I won't sugar coat it and say it'll be easy. But I will say if you haven't yet mastered git, then it's an important software development skill you're going to want to have beyond Inkscape anyway, since pretty much all other projects use it.
What about Launchpad and its bzr integration?
One of the reasons we picked bzr was because of its integration with the bug tracker, and yes that's pretty cool and something we'll lose making the transition. The good news is that unlike when we switched to bzr, there are now a number of good web apps and services (github clones, et al). So we'll have a wealth of options to consider when we get to this point.
Where will we host the repository? github? freedesktop?
One nice thing with git is that we will have 100% freedom in deciding where to host the official repo. We can even consider self-hosting it (e.g. on our website vm). We have lots and lots of options, and plenty of time to deliberate and decide on a plan.
Can it import our history? tags?
Yep. Lots of projects have preceeded us in bzr->git conversions and there's a rich set of well tested converter tools available.
Can we still do PPA recipe builds on Launchpad?
Sure can. Launchpad may only host bzr but it has a very good git importer. So we'd set up LP to import our git branch to a bzr tracking branch on LP and then it's business as normal.
Can we convert to git ASAP?
I know some people are anxious to move us over to git, and so am I, but we need to pace ourselves. Changing VCS is going to be disruptive to everyone, and it will take time before everyone's up to speed with it. As a project there are other changes which are more pressing, which we need to give priority to. If we rush into git, we're likely to make mistakes or at least cause unnecessary frustrations. Planned well, we can make the transition relatively smooth, and ensure there are tutorials and tips available as needed.
Bryce