[Twisted-Python] Moving Twisted off Trac and SVN to somewhere nicer

anatoly techtonik techtonik at gmail.com
Tue Jul 5 02:41:12 EDT 2011


On Fri, Jul 1, 2011 at 1:29 PM, Laurens Van Houtven <_ at lvh.cc> 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.

There are always talks about moving here of there, because people are
bored or it _seems_ to them that the other way of doing things is much
better, because everybody else praises it. It is hard to resist this
opinion. Some people even take it fundamentally - "I won't commit,
because its not in Git". The worst that it doesn't mean these people
will participate if the project is be in Git, but a small percentage
will.

Problem with Git/Bazaar/Mercurial and DVCS in general is much higher
contribution barrier. So, if you want to switch, you need to know
_exactly_ why, and more importantly - which features are you going to
miss. See below:

> 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.

I believe nobody uses Combinator, because it is dead
http://divmod.org/trac/wiki/DivmodCombinator
SVN has one major flaw - you can not stack patches on your system
naturally when you don't have write access to repository. I believe
that's the major complain behind "DVCS is better". Second problem -
there in no _convenient_ way to share these patches to be reviewed and
incorporated upstream.

I do not think Trac is universally hated. It is the application one
level above Python API as Twisted itself. Trac has its own
architecture, different from standard OOP hierarchy. This architecture
is not obvious and may be inconvenient to debug and extend. It may be
that everybody is tired of Trac design, or Trac doesn't provide review
and push/pull integration, but it has some other awesome features.

> 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)

I am not sure if the following possible with these services:
L  G  B
[ ] [ ] [ ] Project timeline with changes to wiki, tickets, commits etc,
[ ] [ ] [ ] Editable issue description (Google Code suxx at this)
[ ] [ ] [ ] Commit history navigation from patch view (next/prev buttons)
[ ] [ ] [ ] Colored blame history browser
[ ] [ ] [ ] Hook scripts for bots and other stuff
[ ] [ ] [ ] Full project data export

> 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? :)

To know if Github is terrible or not, you need some data - examples,
use cases. The first step in planning is to look at the current
workflow and gather a list of ways current Trac+SVN is used and see
where Github has advantages and where it suxx. Usually, people realize
the latter when it's too late.

As we are all mostly too busy, if you want people to participate in
discussions, it will be better to outline the features you need from
development workflow and separate discussion with some summary about
them into separate thread. Right now I see that there is a thread
about reviews and as a Rietveld user, I may have a lot to say about
that. =)
-- 
anatoly t.



More information about the Twisted-Python mailing list