[Twisted-Python] Moving Twisted off Trac and SVN to somewhere nicer
luke-lists at hybrid-logic.co.uk
Fri Jul 1 08:56:54 MDT 2011
On Fri, 2011-07-01 at 12:00 +0100, Reza Lotun wrote:
> On Fri, Jul 1, 2011 at 11:29 AM, Laurens Van Houtven <_ at lvh.cc> wrote:
> 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).
> I vote for GitHub too. Git's a pain but powerful (no need for
> combinator), and GitHub has a pretty good API into everything - low
> level repo innards, to issues/tickets. Also, GitHub's webhook system
> can easily integrate with buildbot (we used to do it at TweetDeck).
> Code review is doable by pull requests too. You can even map
> twistedmatrix.com to a github hosted website, which itself would be a
> repo. Oh, and the wikis are git repos too.
> Given all these tools, I see mappings for all of Twisted's bits and
> pieces (unless I'm missing something).
I agree, possibly the biggest win with GitHub is the way it encourages
fellow users to fork a project and contribute patches via pull requests.
Popularity doesn't always equate to quality but in this case (amongst
developers) I think it *is* indicative that they've got something right.
Pull requests can be used to implement the Twisted review model as they
form a good centralised place to review a set of changes. GitHub's
issue tracker used to be pretty shoddy but has had a big upgrade
recently and is almost good now.
Git is powerful, and while it can also be confusing at times
StackOverflow almost always has the answer ;-) Also, managing branches
in git really is real pleasure compared to the mish-mash of merging
branches with SVN and various external scripts. For example, to merge
'somebranch' into master (i.e. trunk) and push it to GitHub (the
'origin' remote), after committing to somebranch, it's just:
git checkout master; git merge somebranch; git push origin master
Addressing the concern of getting your data out of GitHub, since git is
a DVCS, every repository is a complete copy of the entire revision
history. Therefore, GitHub cannot lock you in. I suppose the issue
tracker might be a different story, but it has an API.
CTO, Hybrid Logic Ltd.
www.hybrid-cluster.com - Cloud web hosting platform
More information about the Twisted-Python