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

2011-07-01 Thread Laurens Van Houtven
Hi,


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:

   1. Launchpad (+ Bazaar as the default vcs)
   2. Bitbucket (+ Mercurial as the default vcs)
   3. 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
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jonathan Lange
On Fri, Jul 1, 2011 at 11:29 AM, Laurens Van Houtven _...@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 support Twisted moving to a DVCS and to something better than Trac.
I personally would prefer Twisted to use Launchpad.

Some points:
 * Launchpad is much faster now that it was six months ago
 * Its code review system works well with UQDS
 * Launchpad is open source  therefore patchable

However, I won't argue too hard about it.

jml

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Tristan Seligmann
On Fri, Jul 1, 2011 at 12:29 PM, Laurens Van Houtven _...@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'm not sure I understand what you mean by aren't devs. Do you mean
aren't Twisted developers? I don't see why someone who isn't a
developer would particularly care what development tools Twisted uses.

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

My personal preference would definitely be Launchpad+bzr 
Bitbucket+hg  Github+git. There are also a fair number of
Twisted-related projects already on Launchpad.

On the other hand, I'm not sure this is a constructive way to approach
this issue.
-- 
mithrandi, i Ainil en-Balandor, a faer Ambar

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 12:48 PM, Tristan Seligmann
mithra...@mithrandi.netwrote:

  I'm not sure I understand what you mean by aren't devs. Do you mean
 aren't Twisted developers? I don't see why someone who isn't a
 developer would particularly care what development tools Twisted uses.


Yes, this is what I meant.


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

 My personal preference would definitely be Launchpad+bzr 
 Bitbucket+hg  Github+git. There are also a fair number of
 Twisted-related projects already on Launchpad.


Is the reason you would prefer bitbucket over github related to bitbucket
and github, or git and hg?

cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Reza Lotun
Hi,

On Fri, Jul 1, 2011 at 11:29 AM, Laurens Van Houtven _...@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).

Cheers,
Reza

-- 
Reza Lotun
mobile: +44 (0)7521 310 763
email:  rlo...@gmail.com
work:   rlo...@twitter.com
@rlotun
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Tim Allen
On Fri, Jul 01, 2011 at 12:29:01PM +0200, Laurens Van Houtven wrote:
 There's a few existing hosting solutions:
 
1. Launchpad (+ Bazaar as the default vcs)
2. Bitbucket (+ Mercurial as the default vcs)
3. Github (+ Git as the default vcs)

As a very-occasional Twisted contributor (but a long-time fan!) I'll
vote for option 3. I'm not particularly a fan of Github[1], but Git is the
DVCS I know best, and I'd be more than happy for Twisted Labs to make
it easier for me (and people like me) to contribute.

On the other hand, using git would probably complicate the build/review
process: since Github repositories are (as far as I know) owned by
individuals, you might not be able to set up access for multiple people,
and hence the current scheme of push your changes to a branch on the
central server, tell the buildbots to build it might not be possible.

Tim.

[1] In fact, I'm vaguely uneasy about distributed version control
being so centralised  on a single piece of commercially-owned
infrastructure. On the other hand, the only hosted alternative would be
Gitorious, and it doesn't have a lot of the shiny features Github has,
like bug-tracking.

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Tim Allen
On Fri, Jul 01, 2011 at 12:48:37PM +0200, Tristan Seligmann wrote:
 On Fri, Jul 1, 2011 at 12:29 PM, Laurens Van Houtven _...@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'm not sure I understand what you mean by aren't devs. Do you mean
 aren't Twisted developers? I don't see why someone who isn't a
 developer would particularly care what development tools Twisted uses.

Perhaps potential Twisted developers who haven't decided to contribute
yet?

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 12:59 PM, Tim Allen screwt...@froup.com wrote:

 On the other hand, using git would probably complicate the build/review
 process: since Github repositories are (as far as I know) owned by
 individuals, you might not be able to set up access for multiple people,
 and hence the current scheme of push your changes to a branch on the
 central server, tell the buildbots to build it might not be possible.


No, this is not a problem, Github has the concept of organisations which
Glyph has already set up, so we can have this done properly :)

Also Github has well supported API notification support for when new commits
come in. Not so much for issues, but I'm working on a solution for that...


 Tim.


cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Ilja Livenson
On 1 July 2011 14:01, Tim Allen screwt...@froup.com wrote:
 On Fri, Jul 01, 2011 at 12:48:37PM +0200, Tristan Seligmann wrote:
 On Fri, Jul 1, 2011 at 12:29 PM, Laurens Van Houtven _...@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'm not sure I understand what you mean by aren't devs. Do you mean
 aren't Twisted developers? I don't see why someone who isn't a
 developer would particularly care what development tools Twisted uses.

 Perhaps potential Twisted developers who haven't decided to contribute
 yet?


I'd  support github. I'm somewhat new to twisted community, no code
contributions so far (using twisted in my own projects), but github
makes 3rd party commits to a project much easier.

Ilja

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Thomas Hervé
Le 01/07/2011 12:29, Laurens Van Houtven a écrit :
 Hi,
 
 
 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:
 
1. Launchpad (+ Bazaar as the default vcs)
2. Bitbucket (+ Mercurial as the default vcs)
3. 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).

Hi Laurens,

Thanks for pushing this. Personally, I would prefer Launchpad and Bzr,
but we've been thinking about using it for the past 3 years, and nothing
really happened. What I really care about is that we move away from Trac
(for bugs at least) and SVN.

As I told you in Florence, if you come with a nice migration plan *and*
you're ready to take on the burden, that's awesome and you have all my
support for moving to Github. But, if somebody else is ready to do the
same thing for Launchpad, I'll support him first. It seems unlikely though.

-- 
Thomas

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Tristan Seligmann
On Fri, Jul 1, 2011 at 12:57 PM, Laurens Van Houtven _...@lvh.cc wrote:
 Is the reason you would prefer bitbucket over github related to bitbucket
 and github, or git and hg?

The latter. Launchpad+bzr is at the top of my list because of
Launchpad; Bitbucket+hg ranks over Github+git because of hg. (Or
because of git, depending on how you look at it...)
-- 
mithrandi, i Ainil en-Balandor, a faer Ambar

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Itamar Turner-Trauring
On Fri, 2011-07-01 at 12:29 +0200, Laurens Van Houtven wrote:

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

Unless I'm mistaken, Github is a proprietary system, which means I'm
unhappy about hosting our project there. At the minimum I'd want a very
good story about how we can get all our data out if we need to. And even
then I'd probably be against it. What's more, we can switch to
git/bzr/hg without switching to a hosted system (e.g. trac with
GitPlugin, and redmine has builtin integration for all of those.). Why
does git imply github?

In my opinion the biggest barrier to new developers is not whether we
use git or subversion or what have you, but the high quality of code
required (coding standard, tests, passing code review). A DVCS may well
encourage more users, but I'm skeptical it will have a major impact.

-Itamar


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


[Twisted-Python] Conch Testing server and client

2011-07-01 Thread Anshul Singhle
Hi,
I have to write tests for a custom conch server. My approach is to make a
test client and then connect it to my server in my testcase. I have been
able to create a client that can interface with my server, but i'm not able
to do it from within the test case.
What I'm trying is :
class TestAccountStatus(unittest.TestCase):
 def setUp(self):
 ssh_server = Server()
 self.server = reactor.listenTCP(ssh_server.port,
  ssh_server.application(),
  interface=ssh_server.interface)
 def tearDown(self):
 server, self.server = self.server,None
 return server.stopListening()
 def test_1(self):
 d = protocol.ClientCreator(reactor,
SimpleTransport).connectTCP('localhost', self.server.getHost().port)
 return d
The transport SimpleTransport is my custom transport.SSHClientTransport
instance. The class Server() is a wrapper around an SSHFactory insatance.
The problem I'm facing is that after this line 
d = protocol.ClientCreator(reactor, SimpleTransport).connectTCP('localhost',
self.server.getHost().port)
I have to write reactor.run(), otherwise the client is not starting. If I
write reactor.run() the test doesn't stop (understandable since the reactor
isn't being stopped).
Basically I want to know how I can start the client without running
reactor.run()

Thanks in Advance!!
Anshul
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jonathan Lange
On Fri, Jul 1, 2011 at 12:16 PM, Thomas Hervé the...@free.fr wrote:
...
 Thanks for pushing this. Personally, I would prefer Launchpad and Bzr,
 but we've been thinking about using it for the past 3 years, and nothing
 really happened. What I really care about is that we move away from Trac
 (for bugs at least) and SVN.

FWIW, I started trying to migrate to Bazaar a while ago, while still
keeping us on Trac. (Back then, Launchpad was ruled out on account of
being proprietary). It would be much easier to move to Bazaar *and*
Launchpad at the same time. I do not believe that it has seriously
been attempted by anyone involved in Twisted.

jml

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread exarkun
On 12:14 pm, anshul.sing...@gmail.com wrote:
Hi,
I have to write tests for a custom conch server. My approach is to make 
a
test client and then connect it to my server in my testcase. I have 
been
able to create a client that can interface with my server, but i'm not 
able
to do it from within the test case.
What I'm trying is :
class TestAccountStatus(unittest.TestCase):
 def setUp(self):
 ssh_server = Server()
 self.server = reactor.listenTCP(ssh_server.port,
  ssh_server.application(),
  interface=ssh_server.interface)
 def tearDown(self):
 server, self.server = self.server,None
 return server.stopListening()
 def test_1(self):
 d = protocol.ClientCreator(reactor,
SimpleTransport).connectTCP('localhost', self.server.getHost().port)
 return d
The transport SimpleTransport is my custom transport.SSHClientTransport
instance. The class Server() is a wrapper around an SSHFactory 
insatance.
The problem I'm facing is that after this line 
d = protocol.ClientCreator(reactor, 
SimpleTransport).connectTCP('localhost',
self.server.getHost().port)
I have to write reactor.run(), otherwise the client is not starting. If 
I
write reactor.run() the test doesn't stop (understandable since the 
reactor
isn't being stopped).
Basically I want to know how I can start the client without running
reactor.run()

The reactor should be started for you, automatically.

Jean-Paul

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Reza Lotun
Hi,

On Fri, Jul 1, 2011 at 1:14 PM, Itamar Turner-Trauring
ita...@itamarst.orgwrote:

 Unless I'm mistaken, Github is a proprietary system, which means I'm
 unhappy about hosting our project there. At the minimum I'd want a very
 good story about how we can get all our data out if we need to. And even
 then I'd probably be against it. What's more, we can switch to
 git/bzr/hg without switching to a hosted system (e.g. trac with
 GitPlugin, and redmine has builtin integration for all of those.). Why
 does git imply github?


True, GitHub is proprietary, but it's free for open source projects. There
are many high-quality open-source projects hosted on it:

 * Erlang/OTP (https://github.com/erlang/otp)
 * Redis (https://github.com/antirez/redis)
 * Jquery (https://github.com/jquery)
 * RabbitMQ (https://github.com/rabbitmq)
 * Ruby on Rails (https://github.com/rails)
 * Node.js (https://github.com/joyent/node)
 * Tornado (https://github.com/facebook/tornado)

to name a few. GitHub also has an extensive API to programmatically
access/backup all information around your project (like tickets and wikis),
and it has integrated code review which allows you to comment on individual
lines of code (this could be better, but generally works well).

I suppose the main reason to even suggest it, given its proprietary nature
and use of git, is that's currently where a lot of developer activity is,
and its growing. GitHub makes it easy to contribute patches to projects and
keep track of progress. It also has a nice way to keep track of related
repositories (via 'organizations').

And, well, it looks better than Launchpad and is bit more mature than
Bitbucket.

Given the past involvement in Launchpad and its use of Twisted though, I
understand why that would be an obvious choice. I just want to make sure all
sides of the argument are represented.

In my opinion the biggest barrier to new developers is not whether we
 use git or subversion or what have you, but the high quality of code
 required (coding standard, tests, passing code review). A DVCS may well
 encourage more users, but I'm skeptical it will have a major impact.


I think you're right in that code quality is the most important factor here.
However, as a small point, a DVCS surely should be able give the project a
better ability to maintain high quality code though - isn't Combinator just
tool over subversion to make branching easier? At least with most DVCS's
branching is cheap, so there wouldn't need to be yet another tool to setup
to get the development process started for new developers.

Reza


-- 
Reza Lotun
mobile: +44 (0)7521 310 763
email:  rlo...@gmail.com
work:   rlo...@twitter.com
@rlotun
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread Tim Allen
On Fri, Jul 01, 2011 at 05:44:31PM +0530, Anshul Singhle wrote:
 What I'm trying is :
 class TestAccountStatus(unittest.TestCase):

Is that the Python standard library's unittest.TestCase, or
twisted.trial.unittest.TestCase? As Jean-Paul says, Twisted's TestCase
should automatically handle the reactor for you; that's why it exists.
:)

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 2:14 PM, Itamar Turner-Trauring
ita...@itamarst.orgwrote:

 On Fri, 2011-07-01 at 12:29 +0200, Laurens Van Houtven wrote:

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

 Unless I'm mistaken, Github is a proprietary system, which means I'm
 unhappy about hosting our project there. At the minimum I'd want a very
 good story about how we can get all our data out if we need to.


Github has a much nicer API for pulling out all of your data than, say, Trac
does. I know this because I'm drafting out sketches for getting something to
port Trac's wikis and tickets to the other's...


 ...then I'd probably be against it. What's more, we can switch to
 git/bzr/hg without switching to a hosted system (e.g. trac with
 GitPlugin, and redmine has builtin integration for all of those.). Why
 does git imply github?


git implies github because nobody, not even me, thinks git is worth using
when you don't have github super powers to back it up. The point here isn't
switching to git, it's switching to github. They've worked very hard to make
contribution really easy to do, and I'd say they've succeeded.

trac's git-plugin is not something I would work on transitioning, because
part of the point is to get rid of Trac. Redmine *is* a much better system
than trac (both in terms of maintenance and UX), but has other issues. For
example, last time I tried the Bzr plugin for it it was pretty unusable.
(Only supports a single branch? *Really*?).

Redmine+git might be on the table but a) nobody really likes git that much
b) we wouldn't get something as sexy as pull requests/merge proposals like
we would on LP or Github. AFAICT there are no code review tools for Redmine
that are quite as good. There are two code review plugins for Redmine.
They've tried both at Markus, and the conclusion was use review board.
That gives us more moving parts to maintain.

A huge advantage of using Github, IMHO, is the pull requests. You don't need
to ask permission for a commit bit before you can start pushing to branches.
You just fork and do your thing. This makes for a very low threshold for
contribution. With Redmine, you'd still have to send patches in, which I
think is a far less pleasant story than pull requests. (This paragraph
applies equally well to Launchpad's merge proposals.)

In Pull Requests, you see a timeline with both comments and commits, so it's
very easy to check if comments passed in review have been addressed or not.

In my opinion the biggest barrier to new developers is not whether we
 use git or subversion or what have you, but the high quality of code
 required (coding standard, tests, passing code review). A DVCS may well
 encourage more users, but I'm skeptical it will have a major impact.


The reason I'd prefer Github is only partially the DVCS (and, like you said,
any DVCS would do), but to a much larger extent the community on Github.



 -Itamar

 --
cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread Anshul Singhle
 Is that the Python standard library's unittest.TestCase, or
 twisted.trial.unittest.TestCase? As Jean-Paul says, Twisted's TestCase
 should automatically handle the reactor for you; that's why it exists.
 :)

It is Twisted's TestCase( twisted.trial.unittest.TestCase)
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 12:42 PM, Jonathan Lange j...@mumak.net wrote:

 I support Twisted moving to a DVCS and to something better than Trac.
 I personally would prefer Twisted to use Launchpad.

 Some points:
  * Launchpad is much faster now that it was six months ago


Launchpad's definitely getting faster, but it's still not in the same
ballpark. bzr, too, seems a lot slower on many operations (although I'm not
sure how much of this is due to lp, and how much is due to git) despite
having been sped up a lot over the years.

Here's my incredibly unscientific (maybe these do significantly different
amounts of work, I'm not sure) test for checking out Twisted using
lp:twisted and github's powdahound/twisted:

bzr: 63.29s user 2.80s system 1:43.32 total
git: 6.93s user 3.28s system 0:45.75 total

That data is skewed in bzr's favour because someone started downloading
something huge halfway the git test. My point is that git's pretty fast, not
even particularly so for clone (because the slowest part there is the
network). Most of the work I've ever done on Twisted has been using bzr-svn,
and it has been at times noticeably slow. (but not quite frustratingly so).

Either way, I think this is probably the wrong discussion. Most of the time
I hear Launchpad's UX is bad for coders, and it's slow, not Launchpad is
slow and it's UX is bad.

  * Its code review system works well with UQDS


True, but I don't see how it works better than github's pull requests.


  * Launchpad is open source  therefore patchable


Yes, that's a good point. I like that it's open source (although it has an
unfortunate license). Is the patching of Launchpad by third parties followed
by those patches landing in production a common occurrence?

However, I won't argue too hard about it.

 jml



cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jonathan Lange
On Fri, Jul 1, 2011 at 2:08 PM, Laurens Van Houtven _...@lvh.cc wrote:
 On Fri, Jul 1, 2011 at 12:42 PM, Jonathan Lange j...@mumak.net wrote:
...
  * Launchpad is open source  therefore patchable

 Yes, that's a good point. I like that it's open source (although it has an
 unfortunate license). Is the patching of Launchpad by third parties followed
 by those patches landing in production a common occurrence?

Launchpad doesn't get a lot of external contributors, but their
patches almost always land in production promptly. I suspect Launchpad
is comparable to Twisted in this regard.

https://dev.launchpad.net/Contributions miscategorizes some people,
but gives some idea.

jml

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread exarkun
On 12:59 pm, anshul.sing...@gmail.com wrote:
I understand that. The problem I'm facing is that unless I write
reactor.run() my client isn't starting up. From what I understood in 
the
trial documentation, I should simply call the connectTCP method and 
then
return a deferred. However, if I do that, the client isn't starting. 
I'll
post some of the client code for you info :

[snip]

Complicated, incomplete code snippets aren't very useful.  Always follow 
http://sscce.org/ when sharing code.  For example:

from twisted.trial.unittest import TestCase
from twisted.internet.defer import Deferred
from twisted.internet import reactor

class ReactorIsRunningTests(TestCase):
def test_isTheReactorRunning(self):
d = Deferred()
reactor.callLater(1, d.callback, None)
return d

The output I expect from this, when run with trial, is one test method 
which takes 1 second to complete, and then succeeds.  The output I get 
is:

reactortests
  ReactorIsRunningTests
test_isTheReactorRunning ... 
[OK]

---
Ran 1 tests in 1.003s

PASSED (successes=1)

In other words, it behaves as I expect.

Jean-Paul

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Thomas Hervé
Le 01/07/2011 14:14, Itamar Turner-Trauring a écrit :
 On Fri, 2011-07-01 at 12:29 +0200, Laurens Van Houtven wrote:
 
 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? :)
 
 Unless I'm mistaken, Github is a proprietary system, which means I'm
 unhappy about hosting our project there. At the minimum I'd want a very
 good story about how we can get all our data out if we need to. And even
 then I'd probably be against it. What's more, we can switch to
 git/bzr/hg without switching to a hosted system (e.g. trac with
 GitPlugin, and redmine has builtin integration for all of those.). Why
 does git imply github?

I think there are 2 sides though here: we want to move away from Trac as
well as from SVN. And, the main reason for me is that we don't have to
maintain Trac. So redmine wouldn't solve the whole problem.

As Laurens said as well, the main attraction for git is using github. I
don't think switching to git alone makes a ton of sense.

One thing that concerns me is that Trac supposedly supports bzr, and we
tried to use bzr, but never made the move completely. Why do you think
it will change? Is it just that we didn't take any decisions? Or that
nobody stepped up?

 In my opinion the biggest barrier to new developers is not whether we
 use git or subversion or what have you, but the high quality of code
 required (coding standard, tests, passing code review). A DVCS may well
 encourage more users, but I'm skeptical it will have a major impact.

Well, even not thinking about new developers, a DVCS will make the life
of current ones easier. Even though we can start to use bzr, it's a bit
clumsy IMHO.

-- 
Thomas

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 3:17 PM, Jonathan Lange j...@mumak.net wrote:

 On Fri, Jul 1, 2011 at 2:08 PM, Laurens Van Houtven _...@lvh.cc wrote:
  On Fri, Jul 1, 2011 at 12:42 PM, Jonathan Lange j...@mumak.net wrote:
 ...
   * Launchpad is open source  therefore patchable
 
  Yes, that's a good point. I like that it's open source (although it has
 an
  unfortunate license). Is the patching of Launchpad by third parties
 followed
  by those patches landing in production a common occurrence?

 Launchpad doesn't get a lot of external contributors, but their
 patches almost always land in production promptly. I suspect Launchpad
 is comparable to Twisted in this regard.


Well, part of the hypothesis of the effects of moving to Github is that a)
the clear separation between core contributor and random contributor
because a bit more subtle, b) it becomes easier for external contributors to
contribute. So yeah, I guess it is, but it'd be cool if it became a bit more
open to contributions from the more general public :)


 https://dev.launchpad.net/Contributions miscategorizes some people,
 but gives some idea.


Cool, thanks for the link. I had no idea there were that many.



 jml


cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 3:23 PM, Thomas Hervé the...@free.fr wrote:

 Well, even not thinking about new developers, a DVCS will make the life
 of current ones easier. Even though we can start to use bzr, it's a bit
 clumsy IMHO.


Also, apparently there are ways of using bzr-svn that confuse the hell out
of Combinator or some other tools, and it'll spew metadata everywhere, or
something. I don't remember what the conditions were, but I do remember that
it was the obvious way of doing it, and glyph yelling at me for it after I
tried ;-)

cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread Anshul Singhle
Ok, here goes :
The test code :

from twisted.trial import unittest
from twisted.internet import defer, protocol, reactor
class TestAccountStatus(unittest.TestCase):
 def setUp(self):
 ssh_server = Server()
 self.server = reactor.listenTCP(ssh_server.port,
  ssh_server.application(),
  interface=ssh_server.interface)
 return self.server
 def tearDown(self):
 server, self.server = self.server,None
 return server.stopListening()
 def test_1(self):
 def got_data(data):
 self.assertEquals(data,a)
 d = protocol.ClientCreator(reactor,
SimpleTransport).connectTCP('localhost', self.server.getHost().port)
 d.addCallback(got_data)
 return d

The client code :
from twisted.conch.ssh import transport, userauth, connection, common, keys,
channel
from twisted.internet import defer, protocol, reactor
class SimpleTransport(transport.SSHClientTransport):
def verifyHostKey(self, hostKey, fingerprint):
print 'host key fingerprint: %s' % fingerprint
return defer.succeed(1)

def connectionSecure(self):
self.requestService(
SimpleUserAuth('webchick',
SimpleConnection()))

class SimpleUserAuth(userauth.SSHUserAuthClient):
def getPassword(self):
print Get Password called
return defer.succeed(Thai1mil3ahb)

When I run the test I expect :
  tests
  TestAccountStatus
test_1 ... Get Password called

followed by some errors , but atleast this much should be printed if the
client code is being called properly.
Instead I get:

[FAIL]: tests.TestAccountStatus.test_1

Traceback (most recent call last):
  File tests.py, line 92, in got_data
self.assertEquals(data,a)
twisted.trial.unittest.FailTest: not equal:
a = tests.SimpleTransport instance at 0x1024aa128
b = 'a'

Instead of running the client the deferred is just returning an instance of
the Client Transport used by me  (SimpleTransport). Any ideas why this is
happening? Is this becuse I'm not using a ClientFactory or am I using the
deferred all wrong?
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Johan Rydberg
+1 for github.  The user experience of bitbucket and LP is
secondary compared to github.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Itamar Turner-Trauring
On Fri, 2011-07-01 at 15:23 +0200, Laurens Van Houtven wrote:


 Well, part of the hypothesis of the effects of moving to Github is
 that a) the clear separation between core contributor and random
 contributor because a bit more subtle, b) it becomes easier for
 external contributors to contribute. So yeah, I guess it is, but it'd
 be cool if it became a bit more open to contributions from the more
 general public :)

I'm not sure getting more patches should be our main goal, for now.
(It's a good *long term* goal!).

We have a large number of uncommitted third-party patches in tickets. We
have a large number of half-finished developer branches (I'm working on
a couple, since it's an easy way to get things done). These were not
left uncommitted or unfinished because of tool problems, but because of
other issues. Dealing with this seems to me to be higher priority than
getting even more patches we won't get around to incorporating.

If you want more contributions, improving the processes so abandonment
is less likely to happen is the first step. I can certainly think of
ways in which e.g. github might help with that, but this is not a
*technical* problem, it's an organizational and social problem, and at
the very least you should think about how to solve it before redoing all
the technical infrastructure. For example, making sure all reviewable
tickets get reviewed within 7 days, and all new tickets get an answer
within 3 days.

If a switch github is super-successful in getting us more patches, and
then those patches sit in limbo forever, all we've done is alienate
potential developers.



___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Itamar Turner-Trauring
This, I believe, is the real problem -- tickets which were reviewed but
never closed:

http://twistedmatrix.com/trac/report/16

That is a very sad list.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread Itamar Turner-Trauring
On Fri, 2011-07-01 at 19:11 +0530, Anshul Singhle wrote:

  def test_1(self):
  def got_data(data):
  self.assertEquals(data,a)
  d = protocol.ClientCreator(reactor,
 SimpleTransport).connectTCP('localhost', self.server.getHost().port)
  d.addCallback(got_data)
  return d

ClientCreator.connectTCP returns a Deferred that fires with a Protocol
instance (in this case, a SimpleTransport instance), which you are then
comparing with a string in got_data(). This fails, as one would expect.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jonathan Lange
On Fri, Jul 1, 2011 at 2:23 PM, Laurens Van Houtven _...@lvh.cc wrote:
...

 Well, part of the hypothesis of the effects of moving to Github is that a)
 the clear separation between core contributor and random contributor
 because a bit more subtle, b) it becomes easier for external contributors to
 contribute. So yeah, I guess it is, but it'd be cool if it became a bit more
 open to contributions from the more general public :)


I'm sure the Launchpad project would gladly accept your help with
getting new contributors... unless your help was to advise them to
switch to Github ;)

jml

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Conch Testing server and client

2011-07-01 Thread Anshul Singhle
 ClientCreator.connectTCP returns a Deferred that fires with a Protocol
 instance (in this case, a SimpleTransport instance), which you are then
 comparing with a string in got_data(). This fails, as one would expect.

 So then how do i get the protocol to run? and how do i get the data
received by the protocol? Do I need to create my own deferred that is fired
when the result is retrieved or  is their already such a deferred which I
can callback?
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jonathan Lange
On Fri, Jul 1, 2011 at 2:23 PM, Thomas Hervé the...@free.fr wrote:
...
 One thing that concerns me is that Trac supposedly supports bzr, and we
 tried to use bzr, but never made the move completely. Why do you think
 it will change? Is it just that we didn't take any decisions? Or that
 nobody stepped up?


For me, the biggest external blocker was not being sure what the
requirements were for moving. The internal blockers of time 
motivation probably dominated.

jml

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Thomas Hervé
Le 01/07/2011 15:44, Itamar Turner-Trauring a écrit :
 On Fri, 2011-07-01 at 15:23 +0200, Laurens Van Houtven wrote:
 
 
 Well, part of the hypothesis of the effects of moving to Github is
 that a) the clear separation between core contributor and random
 contributor because a bit more subtle, b) it becomes easier for
 external contributors to contribute. So yeah, I guess it is, but it'd
 be cool if it became a bit more open to contributions from the more
 general public :)
 
 I'm not sure getting more patches should be our main goal, for now.
 (It's a good *long term* goal!).

At least personally, moving away from SVN and Trac is not to directly
get more patches. It's mainly that I want as a contributor to use better
tools. Also, I don't want us to maintain the infrastructure; for
example, moving to a more recent Trac cost me personally a good amount
of time; we also have that problem with spam.


 We have a large number of uncommitted third-party patches in tickets. We
 have a large number of half-finished developer branches (I'm working on
 a couple, since it's an easy way to get things done). These were not
 left uncommitted or unfinished because of tool problems, but because of
 other issues. Dealing with this seems to me to be higher priority than
 getting even more patches we won't get around to incorporating.
 
 If you want more contributions, improving the processes so abandonment
 is less likely to happen is the first step. I can certainly think of
 ways in which e.g. github might help with that, but this is not a
 *technical* problem, it's an organizational and social problem, and at
 the very least you should think about how to solve it before redoing all
 the technical infrastructure. For example, making sure all reviewable
 tickets get reviewed within 7 days, and all new tickets get an answer
 within 3 days.
 
 If a switch github is super-successful in getting us more patches, and
 then those patches sit in limbo forever, all we've done is alienate
 potential developers.

Well, that logic is a bit flawed though: you're kind of saying that we
shouldn't use a better tool because it may bring us more contributors
than we can handle. At the end of the day, we would still use a better
tool though.

-- 
Thomas

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Itamar Turner-Trauring
 Well, that logic is a bit flawed though: you're kind of saying that we
 shouldn't use a better tool because it may bring us more contributors
 than we can handle. At the end of the day, we would still use a better
 tool though.

No, I'm saying that given limited resources, addressing the giant piles of
unused code we have (and figuring out how new code won't end up in the
attic) seems like a higher priority. Using better tools is always a good
idea, and if you'd like to argue that github means patches are less likely
to be abandoned that's a good argument to make.

I'm arguing for a broader look at what our development process problems
are, and that perhaps efforts should be directed elsewhere.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Luke Marsden
Hi all,

On Fri, 2011-07-01 at 12:00 +0100, Reza Lotun wrote:
 On Fri, Jul 1, 2011 at 11:29 AM, Laurens Van Houtven _...@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.

-- 
Best Regards,
Luke Marsden
CTO, Hybrid Logic Ltd.

Mobile: +447791750420

www.hybrid-cluster.com - Cloud web hosting platform 


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
If the patch applies cleanly, pull requests can even be merged without
involving git directly at all, from the Github web UI.

cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
Itamar makes an excellent point. That probably is one of the worst problems
we have right now. and it definitely needs to be addressed.

Figuring out how code could end up not-in-the-attic sounds like part of the
transition plan to me. I do, in fact, think Github means patches are less
likely to be abandoned. There's two reasons for that. First of all, you
don't have to deal with a patch: you deal with a pull request. That means
there's a branch with commits, and it's already in version control. Because
that version control lives on Github, it's very easy to pull into your own
checkout and work on it.

This lowers the barrier to entry further, and completely gets rid of the
distinction between committers and non-committers we currently have (where
non-committers don't get to use version control, basically, unless they use
bzr or something else, which again is a distinction between workflows for
people with and without commit bits).

The main problem I see in this transition is that Github tickets and pull
requests are distinct elements in the issue tracker, whereas reviews go on
the ticket in Trac/UQDS.

cheers,
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


[Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Itamar Turner-Trauring
In order to have at least some anecdotal evidence --

If you've submitted a patch to Twisted (or started a branch) and it never
made it in, how did that happen? I imagine reasons might include a review
request to write tests, redesign requests, getting distracted, it works
for me, design discussions that never got anywhere... What happened in
your case?

(I'd also like someone -- lvh? -- to go through report 16 and see if we
can come up with a summary of how those tickets ended up where they are.)


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Phil Mayers
On 01/07/11 17:08, Itamar Turner-Trauring wrote:
 In order to have at least some anecdotal evidence --

 If you've submitted a patch to Twisted (or started a branch) and it never
 made it in, how did that happen? I imagine reasons might include a review
 request to write tests, redesign requests, getting distracted, it works
 for me, design discussions that never got anywhere... What happened in
 your case?

I have submitted patches that went nowhere:

http://twistedmatrix.com/trac/ticket/4602
http://twistedmatrix.com/trac/ticket/4603
http://twistedmatrix.com/trac/ticket/4610
http://twistedmatrix.com/trac/ticket/4666

Some of them seemed to be:

No, don't do it this way, do it that way. I'll be honest, that's just 
completely demoralising, when you're contributing new functionality.

On that topic, I don't think the Twisted process is as accessible as 
some of you guys think it is I'm afraid. I found the discussion about 
the IPv6 tickets a bit disheartening :o(


However, more constructively (less whiney!) some tickets languished in 
make these tiny cleanups and that's just incredibly painful in the 
current setup, with SVN and Trac mediating things.

I've got absolutely no interest in pulling SVN head, writing a patch, 
submitting it as an attachment via Trac and *then* being told ok, I've 
created this branch. Go off and learn how to do branches in a crappy old 
centralised VCS, and in a way compatible with UQDS, re-do your patch in 
a branch, then send another diff in as a file

Really? I mean, come on guys...

If it were git/github, then I'd simply make the incremental changes in 
my local git branch, re-push to github and re-submit the pull request.

I hate Launchpad, but I'm sure it's equivalent beats the crap out of SVN.

Please, for the love of god, adopt a DVCS which lets contributors 
develop continuously against a local branch and push changes!

Cheers,
Phil

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Christopher Armstrong
On Fri, Jul 1, 2011 at 5:29 AM, Laurens Van Houtven _...@lvh.cc wrote:

 Hi,


First, I encourage everyone to take a look at (and update)
http://twistedmatrix.com/trac/wiki/WorkflowRequirements

It was created a while back and hasn't been updated in a long time.

Second:



1. Launchpad (+ Bazaar as the default vcs)


I'm curious about something: Is it yet possible to revert a merge in bzr
without doing annoying things?


-- 
Christopher Armstrong
http://radix.twistedmatrix.com/
http://planet-if.com/
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jason J. W. Williams


On Jul 1, 2011, at 7:44, Itamar Turner-Trauring ita...@itamarst.org wrote:

 I'm not sure getting more patches should be our main goal, for now.
 (It's a good *long term* goal!).
 We have a large number of uncommitted third-party patches in tickets.

2 of those are mine. They're almost to the point of being accepted, but we're 
at that phase where there's a lot of roundtrips due to the code reviewing 
involved, and syncing SVN in that scenario is such a pain in the rear I've 
bogged down and gotten side tracked by other projects that have an easier 
system for contribution workflow ( Github or Bitbucket). I think you'd see the 
wither on the vine rate decline if Twisted moved to a system that made the 
workflow of contribution smoother. I like tools that make the work, rather than 
the tool, the focus of the job at hand...and that's definitely not SVN, Trac or 
LP. 

I'd advocate Git if only because it has the most number of integrations (that 
work well) with other VCSs, so devs can use the VCS/DVCS client they like best. 

I'd definitely vote for Github as well. The integration between the code, 
tickets and code review is by far the best I've worked with. 

Also, let's keep in mind the social aspect for visibility. When there's an 
interesting project, if it's on Github I'll hit the 'watch' button. This means 
I keep up-to-date on changes and activity for projects I want to use but may 
never contribute to. Github has opened my eyes to a number of projects that 
otherwise would have fallen off my radar...and I don't think that's an effect 
to dismiss lightly. 

-J
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jonathan Lange
On Fri, Jul 1, 2011 at 5:36 PM, Christopher Armstrong
ra...@twistedmatrix.com wrote:
 On Fri, Jul 1, 2011 at 5:29 AM, Laurens Van Houtven _...@lvh.cc wrote:

 Hi,


 First, I encourage everyone to take a look at (and
 update) http://twistedmatrix.com/trac/wiki/WorkflowRequirements
 It was created a while back and hasn't been updated in a long time.
 Second:


 Launchpad (+ Bazaar as the default vcs)

 I'm curious about something: Is it yet possible to revert a merge in bzr
 without doing annoying things?

I'm sitting around with a bunch of Bazaar developers, and they say this::

On trunk:
  bzr merge -r $REVNO..$(REVNO - 1)
  bzr commit

The person with the failing branch, when they wish to resume development:
  bzr merge trunk
  bzr revert .
  bzr commit

(I'm assuming the case where someone has committed a change that
breaks the build and there may have been more commits to trunk since
then.)

jml

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Phil Mayers
On 01/07/11 11:29, Laurens Van Houtven wrote:
 Hi,


 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

As per my other, longer email: for me, the current SVN/branch 
development model is hugely offputting for occasional contributions, and 
I suspect for people who want to submit 10-100 line changes.

For the love of god, pick a DVCS so that contributors can develop in 
local branches, and pick a DVCS with a good central pull request and 
patch review system/engine/site/app/whatever.

I like github and loathe Launchpad personally but really - pick 
anything. Just not SVN. And not Trac.

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 6:24 PM, Thomas Hervé the...@free.fr wrote:

 Le 01/07/2011 16:42, Itamar Turner-Trauring a écrit :
  Well, that logic is a bit flawed though: you're kind of saying that we
  shouldn't use a better tool because it may bring us more contributors
  than we can handle. At the end of the day, we would still use a better
  tool though.
 
  No, I'm saying that given limited resources, addressing the giant piles
 of
  unused code we have (and figuring out how new code won't end up in the
  attic) seems like a higher priority. Using better tools is always a good
  idea, and if you'd like to argue that github means patches are less
 likely
  to be abandoned that's a good argument to make.
 
  I'm arguing for a broader look at what our development process problems
  are, and that perhaps efforts should be directed elsewhere.

 While I sympathize with what you're saying, this sounds kind of
 orthogonal to me. Sure, we can do better at handling contributions. But
 it's an opensource project, everybody does whatever he wants mostly (in
 the frame that the project sets).

 Saying to Laurens that we have limited resources and that he should do
 something else doesn't mean that this second task will be done. But it
 surely means that first one won't.

 --
 Thomas


I'd say that's a safe bet.

-- 
cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread chris
Hi all,

On 01.07.2011 18:36, Phil Mayers wrote:
 However, more constructively (less whiney!) some tickets languished in
 make these tiny cleanups and that's just incredibly painful in the
 current setup, with SVN and Trac mediating things.

 I've got absolutely no interest in pulling SVN head, writing a patch,
 submitting it as an attachment via Trac and *then* being told ok, I've
 created this branch. Go off and learn how to do branches in a crappy old
 centralised VCS, and in a way compatible with UQDS, re-do your patch in
 a branch, then send another diff in as a file

I absolutely agree with Phil here.
The twisted code and contribution standards are so high that patches 
from new contributors (like myself) are bound to be rejected/resubmitted 
at least once, maybe more. Don't get me wrong, I believe high standards 
are a good thing, but doing continuous development based on tools like 
svn and trac is really painful and it's really difficult to motivate 
yourself to work on a once rejected ticket.

That being said, I believe that the move to a DVCS is a smart move for 
any project looking for continuous community contribution, because IMHO 
they simply allow for a more developer friendly process for all 
involved, thus making the whole review process a more friendly and less 
discouraging thing.

Cheers,
Chris

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Glyph Lefkowitz

On Jul 1, 2011, at 6:29 AM, Laurens Van Houtven 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? :)

As Itamar has already suggested, I think that this is a solution in search of a 
problem.  Aside from occasionally saving a contributor the trouble of typing 
'review' in the keywords field every so often, what is this actually going to 
accomplish?  We have too many pending patches already, with not enough 
sustained interest to either review them or fix them; what we need are more 
sustained contributors, more reviewers.  Is this going to help us sustain 
interest?  In my opinion, the main frustration with this process is simply 
responsiveness of the site.  I think a better investment to address those 
issues would be in faster hardware to run Trac on (and possibly to communicate 
the acceptability of using a DVCS mirror).

But, if you're going to contemplate a transition, here are a few prerequisites. 
 Perhaps some of this should be added to the WorkflowRequirements page for 
posterity.

If you want me to take this effort seriously, please finish twisted.positioning 
first and get it reviewed and landed on trunk.  That's just a patch, after all, 
a much smaller effort than a attempting to migrate the project onto entirely 
new infrastructure, with implications for testing, version control, and issue 
tracking. :-)

Less controversial, I think, would be to produce a viable official github 
*mirror*, a-la https://github.com/django/django, rather than a migration, 
since this is a necessary prerequisite and useful in its own right.  
https://github.com/twisted still has no public repositories, and I've been 
bugging people (including you specifically, lvh) to take this over for the past 
couple of weeks.

If we migrate somewhere, I would like all the data to be mirrored and presented 
on twistedmatrix.com with a custom stylesheet.  Ideally, I would like to avoid 
Twisted's users interacting with a different site for issue tracking.  A 
heavily-used, custom-styled web presence was an important part of fundraising.  
No, I don't have any strong empirical data to present to justify that 
sentiment, but salesmanship is an art, and when I was talking to potential 
sponsors I felt that our site made us look like a serious project that 
sponsors were comfortable contributing to. The only person who I think has done 
enough interacting with sponsors to credibly disagree with this is exarkun - 
although he may well do just that.  For me, tens of thousands of dollars of 
focused sponsored development is going to win over random patches from people 
on github for a lng time coming.

The fact that Django still maintains their own Trac instance is a point in 
favor of this, as well.  Those guys know a thing or two about image management 
:-).

Of course, anyone may easily refute this point at any time by simply raising 
about $30,000 for the TSF.

Pages like http://www.sitemeter.com/?a=statss=sm7twistedmatrixr=19 give us 
interesting information about our developers, and have previously informed 
discussions about efforts put towards platform support.  None of the sites 
listed above appear to offer independent web analytics, or the ability to embed 
custom HTML.  This is not, strictly speaking, a requirement, but any potential 
advocate of migrating somewhere should be aware that this would be one of the 
things we'd lose with a hosted solution.

You'll need to port http://twistedmatrix.com/highscores/ to whatever system 
we switch to, and hopefully also preserve the ease of development and 
experimentation with ticket data.

We will need a staging deployment so that the new system can be evaluated and 
any tools to migrate can be tested without actually switching to it.  This 
would appear to disqualify github immediately, as we can't run our own instance 
for testing, 

Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Glyph Lefkowitz

On Jul 1, 2011, at 1:08 PM, chris wrote:

 doing continuous development based on tools like 
 svn and trac is really painful and it's really difficult to motivate 
 yourself to work on a once rejected ticket

Can you be more specific, please?  What's painful?

Procedurally, it's almost the same number of clicks (except for the unfortunate 
need to type the word 'review') to do this on Github or Launchpad.  What part 
of the process is painful?  If you're not a committer, we're not going to let 
you run code on our buildbots either way without a cursory review (that's just 
a recipe for automated attacks) so it's not like you get past that step for 
free, either.

Plus, you can use the DVCS of your choice to actually author the patch.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Kevin Horn
On Fri, Jul 1, 2011 at 5:29 AM, Laurens Van Houtven _...@lvh.cc wrote:

 Hi,


 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:

1. Launchpad (+ Bazaar as the default vcs)
2. Bitbucket (+ Mercurial as the default vcs)
3. 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

   patch nonsense...

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

Kevin Horn
___
Twisted-Python mailing list

Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Tom Davis
On Jul 1, 2011, at 1:41 PM, Glyph Lefkowitz gl...@twistedmatrix.com wrote:

 
 On Jul 1, 2011, at 1:08 PM, chris wrote:
 
 doing continuous development based on tools like 
 svn and trac is really painful and it's really difficult to motivate 
 yourself to work on a once rejected ticket
 
 Can you be more specific, please?  What's painful?

I always found it especially irritating to come back to a patch later. If I 
don't already have a patched checkout of Twisted, I need to figure out what 
revision I was at before (or to actually be safe, make a HEAD checkout), then 
reapply my patch, hoping it is still valid.  

With a fork I can check it out any time, rebase to the current master (or 
branch I'm working on), having my changes reapplied for me. When I have made 
more changes I just push it up. No changes to tickets or switching keywords or 
watching Trac reject my patch file 10 times then clearing all my cookies or 
whatever.

I've always admired Twisted's standards and process; I think they have made it 
possible for such a huge project to maintain working order for so long. The 
tools could use an upgrade, though.

 
 Procedurally, it's almost the same number of clicks (except for the 
 unfortunate need to type the word 'review') to do this on Github or 
 Launchpad.  What part of the process is painful?  If you're not a committer, 
 we're not going to let you run code on our buildbots either way without a 
 cursory review (that's just a recipe for automated attacks) so it's not like 
 you get past that step for free, either.
 
 Plus, you can use the DVCS of your choice to actually author the patch.
 
 
 ___
 Twisted-Python mailing list
 Twisted-Python@twistedmatrix.com
 http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jason J. W. Williams
 Although, the other questions raised in this thread, about what parts of our 
 workflow are problematic, are worth talking about separately.

Moving from a manual patch-based process to a DVCS where branching is cheap and 
the workflow can be moved to push/pull would be a huge step in the right 
direction. 

Twisted has a very polite club-like culture where some are on the inside, most 
aren't and it's clear where on that line anyone is. Submitting to the pain of 
the current submission tools almost seems viewed as a kind of worthwhile hazing 
to weed out the unworthy.  A lot of the resistance to change on this issue over 
the last year has had a lot of that flavor to it. Itamar's logic on why Twisted 
shouldn't make contributing easier being a prime example. 

Twisted needs more friends not fewer. Given everyone here has day jobs in 
addition to contributing to Twisted, getting rid of the patch-hell that is the 
current review process would help everyone even if Trac is kept for issue 
tracking. 

-J
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Laurens Van Houtven
On Fri, Jul 1, 2011 at 8:00 PM, Kevin Horn kevin.h...@gmail.com wrote:

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


Stuff like refs/closes interacts with the ticketing system yes. You can have
as many hooks as you like for topfiles.


  * Git is annoying.  It's a pretty horrible piece of software in my
opinion, and made some bad design decisions.


magit makes it a lot more pleasant if you use emacs, by the way.


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


I've been told this has *vastly* improved, but I don't know for sure since
I'm not a Windows user.


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


Yes, many features are comparable, the main feature differences are polish,
but the killer difference is community size.


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


Although I've never tried this, I've been assured this is the case.


  * 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


Your question got cut off. I think you wanted to say there's a ticket for
that?


   * 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?


Although I've never tried this, I've been assured this is the case.



  * 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?


The first thing I thought right after I thought we're going to need a trac
to markdown converter is khorn is going to jump off a cliff next ;-)



  * How does this affect the Sphinx transition plan? (I don't really know
that it would affect it at all...).


I don't see how it would.


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

 Absolutely not. I am *not* advocating replacing this site, simply having
something similar that isn't trac and isn't involved in the site
development. If anything, this separates the concerns of home page style
site and development site even clearer, IMO.


 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.


There's no silver bullet. Not making new potential contributors bend over,
and having all contributions trivially easy to put in version control,
regardless of their contributor status, sounds like a good start.



 Kevin Horn

 cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Jason J. W. Williams


Sent via iPhone

Is your email Premiere?

On Jul 1, 2011, at 11:41, Glyph Lefkowitz gl...@twistedmatrix.com wrote:

 
 Can you be more specific, please?  What's painful?

Re-syncing whatever changes JP (just as an example of a reviewer) has made back 
into your local repo from SVN...which due to SVN's weakness on branch tracking 
makes merging fail frequently...then making your changes...generating a manual 
patch and finally uploading it to Trac. 

It would be far simpler to setup my DVCS to track JP's remote copy of my 
ticket's branch...then simply pull from that remote...make my changes and 
request he pull from me when he's ready to review. Automates the whole process 
quite a bit and reduces the round trip yak shaving. 

-J
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Kevin Horn
On Fri, Jul 1, 2011 at 11:08 AM, Itamar Turner-Trauring ita...@itamarst.org
 wrote:

 In order to have at least some anecdotal evidence --

 If you've submitted a patch to Twisted (or started a branch) and it never
 made it in, how did that happen? I imagine reasons might include a review
 request to write tests, redesign requests, getting distracted, it works
 for me, design discussions that never got anywhere... What happened in
 your case?

 (I'd also like someone -- lvh? -- to go through report 16 and see if we
 can come up with a summary of how those tickets ended up where they are.)


I've had a few of these.  I've also worked on others, reviewed a few, tried
to resurrect some from abandonment, etc.

Reasons include:
- the finish line gets moved: A reviewer says do this and then it'll be
good to go into trunk.  The contributor does this and then another
reviewer says oh just one more thing  Rinse.  Repeat.  This is hugely
demotivational.  In many cases a better response from follow on reviewers
would be to land the ticket, and then create another ticket for whatever
other changes are needed.  This is not always possible but I think it should
be done where it is possible.

- compatibility with some other unfinished ticket: The reviewer insists on
compatibility with some other ticket, or waiting on some other ticket to
land.  This is not necessarily a bad thing, but if the other ticket takes 6
months to land...well, can we blame people for wandering off and/or
forgetting about things?  (to be fair, I think I've only seen this once, and
I can't recall what it was or find the ticket at the moment).

- I've seen a lot of tickets that die at the this needs tests phase.
Requiring tests is a good thing, though.  I think the only way to help this
problem is for reviewers to provide more guidance as to how exactly to
create those tests.  Even figuring out where to put the tests is sometimes
very difficult.  Exarkun has been pretty good about this in the last year or
so, IIRC.

(It might be worth it to create a Trac keyword for this situation, maybe
needs-tests.  This would make it easy to find those tickets, which might
be a decent entry point for certain types of new contributors)

- Some people just seem to wander off.

- I can think of at least one ticket where the author stopped using Windows,
and it was a Windows ticket.

- That same Windows ticket is still open, though I tried to revive it.  It
basically tries to do 2 things.  One of them is pretty nice (makes the StdIO
protocol work on windows), but it's not even clear what the other one is
trying to do.  So the ticket is in limbo until someone has the time to
either figure it out or split the ticket in two.

- I recall one ticket that got stalled, because noone was entirely sure who
exactly had written the patch.  There was a third party who had contributed
it to Twisted.  This was easily resolved with a google search and an email.
Of course the ticket is still open because it needs tests...

- One ticket was stalled because it required a merge forward.  Which is
not really obvious how to do, especially since the DIvmod site died.

I'm sure there are dozens of other reasons, but these are cases I can recall
off the top of my head.

Kevin Horn
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Kevin Horn
On Fri, Jul 1, 2011 at 12:41 PM, Glyph Lefkowitz gl...@twistedmatrix.comwrote:


 On Jul 1, 2011, at 1:08 PM, chris wrote:

 doing continuous development based on tools like
 svn and trac is really painful and it's really difficult to motivate
 yourself to work on a once rejected ticket


 Can you be more specific, please?  What's painful?

 Procedurally, it's almost the same number of clicks (except for the
 unfortunate need to type the word 'review') to do this on Github or
 Launchpad.  What part of the process is painful?  If you're not a committer,
 we're not going to let you run code on our buildbots either way without a
 cursory review (that's just a recipe for automated attacks) so it's not like
 you get past that step for free, either.


For me the pain isn't Trac, it's SVN.  The more I use DVCS's the more I hate
it.

Also, Combinator does not work on Windows, and hasn't for years.  And before
you say submit patches, I did.  They sat in the Divmod Trac instance for
over a year, I requested reviews of the relevant tickets _daily_ for 3
months on Divmod's IRC channel, and they were never merged, or even
reviewed, or even AFAIK put under version control.  Now they're gone with
the DIvmod site.

If the tickets are ever recoverable, they were tickets #3001-#3004.


 Plus, you can use the DVCS of your choice to actually author the patch.


In theory, yes, though it is not obvious how to do this in a way that is
compatible with Twisted's workflow and Combinator.

See http://twistedmatrix.com/trac/wiki/BazaarMirror for examples of some of
the caveats of using DVCS on top of Subversion.

Granted this works for just authoring a patch, which you then submit through
Trac or whatever, but that doesn't really buy you a lot, IMO (though it does
buy you something).

Kevin Horn
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Kevin Horn
On Fri, Jul 1, 2011 at 1:13 PM, Laurens Van Houtven _...@lvh.cc wrote:

 On Fri, Jul 1, 2011 at 8:00 PM, Kevin Horn kevin.h...@gmail.com wrote:


  * Git is annoying.  It's a pretty horrible piece of software in my
opinion, and made some bad design decisions.


 magit makes it a lot more pleasant if you use emacs, by the way.


I don't.  Emacs is also annoying.




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


 I've been told this has *vastly* improved, but I don't know for sure since
 I'm not a Windows user.


I've heard the same thing, but if what exists now is a _vast_ improvement, I
shudder to think
what it was like before.




  * 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


 Your question got cut off. I think you wanted to say there's a ticket for
 that?


exactly.




  * 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?


 The first thing I thought right after I thought we're going to need a trac
 to markdown converter is khorn is going to jump off a cliff next ;-)


_almost_ funny :)




 .


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

 Absolutely not. I am *not* advocating replacing this site, simply having
 something similar that isn't trac and isn't involved in the site
 development. If anything, this separates the concerns of home page style
 site and development site even clearer, IMO.


Well, the site would _have_ to be replaced by something, if Trac were to go
away.  But I think I understand what you mean.




 Kevin Horn

 cheers
 lvh


Kevin Horn
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Itamar Turner-Trauring
 It would be far simpler to setup my DVCS to track JP's remote copy of my
 ticket's branch...then simply pull from that remote...make my changes and
 request he pull from me when he's ready to review. Automates the whole
 process quite a bit and reduces the round trip yak shaving.

Any reason you can't do this with our git or bzr mirrors?

http://twistedmatrix.com/trac/wiki/BazaarMirror
http://twistedmatrix.com/trac/wiki/GitMirror

Or for that matter, you can include e.g. an github URL in the ticket
instead of attaching the patch.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Glyph Lefkowitz

On Jul 1, 2011, at 2:06 PM, Tom Davis wrote:

 On Jul 1, 2011, at 1:41 PM, Glyph Lefkowitz gl...@twistedmatrix.com wrote:
 
 
 On Jul 1, 2011, at 1:08 PM, chris wrote:
 
 doing continuous development based on tools like 
 svn and trac is really painful and it's really difficult to motivate 
 yourself to work on a once rejected ticket
 
 Can you be more specific, please?  What's painful?
 
 I always found it especially irritating to come back to a patch later. If I 
 don't already have a patched checkout of Twisted, I need to figure out what 
 revision I was at before (or to actually be safe, make a HEAD checkout), then 
 reapply my patch, hoping it is still valid.  
 
 With a fork I can check it out any time, rebase to the current master (or 
 branch I'm working on), having my changes reapplied for me. When I have made 
 more changes I just push it up. No changes to tickets or switching keywords 
 or watching Trac reject my patch file 10 times then clearing all my cookies 
 or whatever.

Wow, does that actually happen?  The rejecting the patchfile, I mean.  That's 
terrible.

In any case, that should not be important.  You _should_ be able to use the 
DVCS of your choice to work on Twisted.[1]  As I said in the previous message:

 Plus, you can use the DVCS of your choice to actually author the patch.


Lots of people do submit patches using Git; I reviewed one earlier this week.

One thing I think this thread has inspired is a prompt move to make it clearer 
how to do this.  It would be great if you could help out lvh in producing some 
good copy for the various workflow-documentation pages so that it's clear to 
people how to use their favorite VCS if they already have one; the SVN-based 
diff-and-ptach instructions that are already there are meant for users who may 
not be familiar with _any_ kind of version control.  (Just to forestall any 
objections: this is a realistic audience, lots of Twisted contributors have 
been in secondary school when they started.)

 I've always admired Twisted's standards and process; I think they have made 
 it possible for such a huge project to maintain working order for so long. 
 The tools could use an upgrade, though.

Thanks for that :).  And my earlier post notwithstanding, I agree.  In fact, 
the tools have improved significantly, but many of them are things that 
contributors don't see (build system upgrades, release process improvements) 
but core developers, and therefore eventually users, do benefit from.

-glyph

[1]: Your choice, of course, should be Bazaar, as all other choices are wrong.  
But we can work around your Git habit ;-).

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Itamar Turner-Trauring
 Twisted has a very polite club-like culture where some are on the inside,
 most aren't and it's clear where on that line anyone is. Submitting to the
 pain of the current submission tools almost seems viewed as a kind of
 worthwhile hazing to weed out the unworthy.  A lot of the resistance to
 change on this issue over the last year has had a lot of that flavor to
 it. Itamar's logic on why Twisted shouldn't make contributing easier being
 a prime example.

I did not say contributing shouldn't be easier; I said getting more
contributions is pointless (and annoying to contributors!) if we can't
manage to get them incorporated into trunk. If DVCS will make code easier
to incorporate, by encouraging contributors to iterate on patches, then we
should certainly do so. Given the feedback you and others have given that
seems at least worth trying.

There are other additional things we should work on though, e.g. giving
better feedback to new developers.


___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jason J. W. Williams

 I did not say contributing shouldn't be easier; I said getting more
 contributions is pointless (and annoying to contributors!) if we can't
 manage to get them incorporated into trunk. If DVCS will make code easier
 to incorporate, by encouraging contributors to iterate on patches, then we
 should certainly do so. Given the feedback you and others have given that
 seems at least worth trying.


My apologies if I misunderstood what you were saying. If we can make it
easier to iterate that would address 95% of my current frustrations with the
process of contributing.


 There are other additional things we should work on though, e.g. giving
 better feedback to new developers.


 No argument. But the Twisted code standards are high and usually have a
high number of iterations to get any fix in...if we can get out of the stone
age of shuffling patch files around and get to some form of push/pull system
that would reduce a lot of my heartburn about do this...OK looks good...now
do this too and integrate with ticket XYZ...great almost there...I think you
should do this now too

-J
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Laurens Van Houtven
On Sat, Jul 2, 2011 at 1:27 AM, Glyph Lefkowitz gl...@twistedmatrix.comwrote:

 When you do a review, try to be as thorough as possible.  Don't *ever* do
 a review that says update @since markers or 2 blank lines between
 methods and nothing else


With Github's edit-this-file-on-the-web feature, it will effectively be
easier to just fix it than it is to complain about how someone else needs to
fix it.

cheers
lvh
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread exarkun
On 1 Jul, 11:27 pm, gl...@twistedmatrix.com wrote:

On Jul 1, 2011, at 6:57 PM, David Ripton wrote:
Working with patches because you don't have svn commit rights is 
annoying, but this annoyance is a relatively minor fixed cost.

It's still important for us to reduce this cost; even if it's not the 
bottleneck, we have to optimize first where we can optimize :).
The real issue, for controversial features, is achieving consensus, 
and then getting your feature in before consensus is lost.

Yes, absolutely.  And there's are some important guidelines for 
reviewers that can be inferred from this:

Try to stick to coding-standard stuff as much as possible, especially 
if there's been a previous review.  Don't bring up I think it would be 
better if... things, except to say file an additional ticket.

We've disagreed about this in the past, so I don't think you'll be 
surprised if I say that I don't think this is a good idea. :)

If an earlier review misses *functional* issues with a change, then they 
need to be brought up.

Scope creep should be avoided at *all* stages of the process, but an 
incomplete first review doesn't exempt a change from the development 
requirements (and I don't think you think it should, even though it 
sounds like you're saying it here :).

If there's a previous review, as much as possible, stick to the points 
brought up in the previous review.  Make sure they're addressed, and 
try not to add a pile of conflicting stylistic suggestions.

Stylistic issues should all be known in advance (read the coding 
standard, etc) and brought up in the first review (because the first 
reviewer should know them too).  Stylistic issues that aren't covered by 
the coding standard definitely shouldn't be sprung in a subsequent 
review (or the reviewer should address them himself or herself) - or 
even a first review, really.

This is a separate case from pointing out *functional* issues that the 
first review missed.

When you do a review, try to be as thorough as possible.  Don't ever do 
a review that says update @since markers or 2 blank lines between 
methods and nothing else; at least, you need to say ... and then it 
will be ready to merge.  Remember that when you take it out of review, 
no other reviewer is going to look at it until the author fixes it and 
resubmits it, which may be quite a while.  If you feel like adding some 
partial commentary to help the next full reviewer, just add a comment, 
don't remove the review keyword.

This is very important, since it should reduce the instances in which a 
later review does have to introduce a new point.  I don't think anyone 
benefits from forgoing resolving functional issues that are detected 
after the first review but before the change actually lands.

Be explicit about what happens next, even if it's going to be 
redundant.  Always say ... and it will need another review or ... 
and then merge.  Try not to voice a vague dissatisfaction with the 
architecture of something without an explicit suggestion about (A) what 
should be done, and (B) whether it needs to be done before the feature 
can be merged.

For contributors, one suggestion: make implementation details private 
as much as possible, so that the reviewer will have to consider the 
aesthetics of the implementation details less.  The smaller the public 
API of the contribution, the easier it is to avoid bikeshedding around 
method names and class placement :).

There are plenty of issues on the contribution-accepting side which I 
don't want to minimize, but I think there's another thing contributors 
can do to help the overall process.  If a review results in more work 
than you're interested in doing, say so.  Make it clear that you're no 
longer taking responsibility for the ticket.  Then there's some chance 
that another contributor might take it the rest of the way (without 
waiting 5 years before deciding the original contributor has lost 
interest).

None of this would have helped in particular on the IPv6 stuff, but 
given that that affected an extremely core API, and had a ton of fiddly 
little details, I'm not sure much could have helped on that one...

Sooo fiddly aaghhgh.

I know I've broken these rules myself on occasion, and I'd like to 
encourage other reviewers to call me out on it when they notice it :).

This raises another point, which is that the mailing list isn't a 
terribly useful place for these points to end up.  If anything is 
actually expected to change, then the need to update the review 
documentation (such as it is) and probably also get serious about meta- 
reviews.

Jean-Paul

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Tim Allen
On Fri, Jul 01, 2011 at 09:11:34PM +0200, Laurens Van Houtven wrote:
 On Fri, Jul 1, 2011 at 8:59 PM, Itamar Turner-Trauring
 ita...@itamarst.orgwrote:
  Or for that matter, you can include e.g. an github URL in the ticket
  instead of attaching the patch.
 
 Only if there's a decent Github mirror to fork from, otherwise you're asking
 people to do a multi-hour operation (I know, because I'm doing it right now)
 to get a decent git repo,

Last time I tried (perhaps a year ago), a git-svn clone of the Twisted
SVN repo took the better part of a week. I seem to recall somebody
preparing a tarball of a git-svn-clone'd repository to help people
bootstrap, but my clone was already completed at that point so I didn't
investigate further.

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Ivan Kozik
On Sat, Jul 2, 2011 at 02:23, Tim Allen screwt...@froup.com wrote:
 On Fri, Jul 01, 2011 at 09:11:34PM +0200, Laurens Van Houtven wrote:
 Only if there's a decent Github mirror to fork from, otherwise you're asking
 people to do a multi-hour operation (I know, because I'm doing it right now)
 to get a decent git repo,

 Last time I tried (perhaps a year ago), a git-svn clone of the Twisted
 SVN repo took the better part of a week. I seem to recall somebody
 preparing a tarball of a git-svn-clone'd repository to help people
 bootstrap, but my clone was already completed at that point so I didn't
 investigate further.

I update the tarball a few times a year at http://ludios.net/mirror/ -
see Twisted-checkout-README.txt for notes.

If you do it yourself, keep in mind that git svn clone has to restart
at r1 several times, for reasons I don't fully understand (due to
partial SVN branches?).  A few months back, a branch created by bzr
with an svn:mergeinfo property caused it to restart at r1 again.  This
adds about 27 hours to the git svn clone time, unfortunately.

Ivan

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] SURVEY: Have you submitted a patch to Twisted and it never got in?

2011-07-01 Thread Mikhail Terekhov
On Fri, Jul 1, 2011 at 6:01 PM, Jason J. W. Williams 
jasonjwwilli...@gmail.com wrote:

 Because they don't always seem to track the ticket branch folders in a
 timely manner. Especially, when JP (he seems to usually be my reviewer :) )
 pushes a modification of my patch to the ticket branch. It's at this point
 trying to merge in from SVN is usually a nightmare.


Why it is a nightmare? Just do svn checkout of the ticket branch and
continue your work and submit additional patches against it if needed.
The only problem here that I could see is if you have made some changes in
addition to your patch. But in this case kdiff3 makes it a snap to merge you
changes to the ticket branch checkout.


 My Git copy being tied to an older SVN rev that my patch is based on. SVN
 just seems to lose it's brains when my patch isn't in the SVN commit
 history, because SVN repo doesn't allow me to commit in.


I can't decipher this, could you elaborate?


 DVCS would allow me to branch, commit to my repo, and then let JP pull from
 my repo into his to review and push up to the Twisted repo when he's happy
 with it...and all of the commit history is sane from the original, to my
 patch to his changes, so when I go to pull back down from the Twisted repo
 everything merges sanely.


IMHO the common practice is to accept patches for review and potential
inclusion and pull only from a trusted lieutenants (like in Linux kernel
case) and creating patches is not very different in svn, git etc.

Regards,
Mikhail Terekhov
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


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

2011-07-01 Thread Jasper St. Pierre
What data do you care about? Wikis and code are in git repositories,
and they have a very exhaustive API[0] for pretty much everything
else.

On Sat, Jul 2, 2011 at 12:53 AM, Mikhail Terekhov ter...@gmail.com wrote:
 On Fri, Jul 1, 2011 at 8:14 AM, Itamar Turner-Trauring ita...@itamarst.org
 wrote:

 Unless I'm mistaken, Github is a proprietary system, which means I'm
 unhappy about hosting our project there. At the minimum I'd want a very
 good story about how we can get all our data out if we need to. And even
 then I'd probably be against it. What's more, we can switch to
 git/bzr/hg without switching to a hosted system (e.g. trac with
 GitPlugin, and redmine has builtin integration for all of those.). Why
 does git imply github?

 In my opinion the biggest barrier to new developers is not whether we
 use git or subversion or what have you, but the high quality of code
 required (coding standard, tests, passing code review). A DVCS may well
 encourage more users, but I'm skeptical it will have a major impact.

 +1

 --
 Mikhail Terekhov

 ___
 Twisted-Python mailing list
 Twisted-Python@twistedmatrix.com
 http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python



[0] http://developer.github.com/

-- 
 Jasper

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python