On Fri, Jul 1, 2011 at 5:29 AM, Laurens Van Houtven email@example.com wrote:
As some of you may already know (either through a backchannel or because you talked to me at Europython), there has been some talk about moving Twisted way from Trac+SVN to somewhere that isn't Trac+SVN.
A lot of the devs do like SVN. My guess is that that's mainly because they don't actually use SVN, they use Combinator, or something. On the other hand, I do think that Trac is pretty universally loathed, and it would be a good idea to get away from it.
There's a few existing hosting solutions:
- Launchpad (+ Bazaar as the default vcs)
- Bitbucket (+ Mercurial as the default vcs)
- Github (+ Git as the default vcs)
Although I've hated git for a long while (and I still don't like it very much), I firmly believe Github is the right thing for Twisted. My incredibly unscientific poll amongst people who like Twisted but aren't devs is that they all love or at least like Github, and a surprising number has a distaste for Launchpad (unfamiliarity with Bazaar, perceived developer-unfriendly UI, slowness).
Unless someone is going to go all "NO GITHUB IS TERRIBLE AND YOU ARE A BAD PERSON FOR EVEN SUGGESTING IT" on me, maybe we can talk about planning the transition? :)
-- cheers lvh
A bunch of thoughts after reading a lot of this thread:
* any move to any DVCS will need a well-defined workflow/branching model/whatever, and it needs to be _written down_ so that people can be referred to it
* moving to a DVCS would make it easier to merge changes from contributors
* moving to a DVCS would allow contributors to work on their contributions in version control...no more patch nonsense.
* though at times, after dealing with SVN/Combinator, I have longed for the
* A move to _any_ DVCS would almost certainly be a win over SVN. I've had to go back to using SVN at work for my day-to-day, and it is _painful_.
* I've never had any huge problesm with Trac, though I can see that offloading admin responsibilities is a good thing.
* Does Github's ticketing system have the kind of integration with Git that Twisted has built for Trac+SVN? Bitbucket has some similar stuff, so I would be surprised if Github didn't, but I just don't know.
* I've never liked Launchpad. I find it confusing and hard to navigate.
* Git is annoying. It's a pretty horrible piece of software in my opinion, and made some bad design decisions.
* Git essentially makes Windows a second-class environment (as did Combinator). We already have trouble recruiting Windows people, and IMO one of Twisted's strengths is that you can usually run things on Linux/MacOSX/Windows with very few cahnges, if any.
* Github almost makes up for Git's irritating-ness.
* Github's extra features have never yet caused me to choose Git as a new project over Mercurial.
* For me, Bitbucket has always been pretty comparable to Github. I know others will disagree, and point out all kinds of features that Github has over Bitbucket, but apparently I never use those features. Perhaps those features (whatever they are) are more important in projects of Twisted's size and/or history.
* I have been told, but not actually experienced, that using the hg-git plugin for Mercurial makes using Git for your repository into "an implementation detail", and the user basicaly doesn't even really have to care that they aren't using Hg. If true, this would make me pretty happy...but I'm not entirely sure that it _is_ true.
* it is unclear how Github would work with UQDS with regards to having a ticket for all new work. IMO this is even more important than code reviews. Would we just say: no pull requests will be accepted unless
* How would running buildbot over a git/bzr/hg branch work? Would Github's
hooks be able to drive this? Would we be able to tell buildbot to "go run tests on this branch"?
* Assuming a change like this would take place, what would the plan be for transition? Would all the branches that are out there be migrate-able? What about all the Trac tickets, wiki, etc?
* How does this affect the Sphinx transition plan? (I don't really know that it would affect it at all...).
* Since Twisted's current web presence _is_ a Trac site, who's going to step up and build a new website? Github/Bitbucket/Launchpad is _NOT_ a replacement for an actual "marketing" or "home page" type site.
Overall, this is probably a good plan, but it's going to bea harder and take
more work than people think.
Also, I agree with Itamar's comments that while switching to a DVCS might ameliorate Twisted's social/organizational issues somewhat, but is unlikely to wholly fix them. That stuff needs to be discussed and worked on as well.