[Twisted-Python] git repo maintenance

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sun Oct 21 14:30:29 EDT 2012


On 05:43 pm, duncan.mcgreggor at gmail.com wrote:
>
>
>On Oct 21, 2012, at 7:02 AM, Laurens Van Houtven <_ at lvh.cc> wrote:
>>Awesome!!!
>>
>>At what point did this change?
>
>Not sure. I don't know the history of the github repo nor its uses. I 
>was certainly surprised with Glyph said that pull requests would be 
>accepted.

This has always been the case.  Anyone is free to contribute code in any 
way they want.  (Though, if you contribute code in some way that no one 
can understand, there may be a delay in the contribution being 
accepted.)

The blocker for people using git for Twisted development has been that 
no one has wanted to do it badly enough to commit to maintaining the git 
mirror.
>>ISTR the lack of interest in maintaining the Github account was pretty 
>>much a consequence of it seeming pretty pointless: ie it was still 
>>easier to just use SVN than to figure out where the parts work 
>>together.

As mentioned above, I have a slightly different perspective on this. :)
>>Will code review also be happening at a pull request level?
>
>Here's what I envision...
>
>1) a ticket is created on tm.com/trac for a feature, bug, etc.
>2) the developer forks the github repo so they can work in their own 
>space, e.g., creating a branch for the new ticket
>3) the ticket is updated with a link to the branch they created on 
>github (e.g., github.com/username/feature-name-1234).
>4) when ready for review, the dev rebases against master (which will be 
>syncing with svn every 30 minutes or so), squashing all commits into 
>one and issues a pull request on github
>5) the ticket is updated to review status
>6) other devs take a look at the diff (git clone twisted repo, git pull 
>dev's branch), with review comments going in the trac ticket
>7) dev iterates on feedback, rebasing on master every time
>8) once approved, perform final rebase, and ask that your pull request 
>be merged on github
>9) someone will then ensure that git master is merged into svn trunk
>
>Note that this hasn't been fully tested yet, so one or more parts of 
>this worklfow may have to change...

At some point *before* svn trunk is updated, Buildbot needs to be able 
to get the code so it can run tests on all our supported platforms. 
This is the actually important part of this email, you can ignore the 
rest if you want but this really needs to happen.
>This would allow devs to do 100% of their iteration work in git or hg 
>(hg plays well with github, I hear), basically removing the process 
>itself as a barrier to contributions to Twisted.
>
>Currently, my own biggest hurdle to resuming contributions to Twisted 
>is the pain of old tech. I've gotten so used to the luxuries of git, 
>hg, and bzr, that svn feels like walking for two days to pick up 
>something at a store, when I can just drive an hour and be there (and 
>not have to walk back home carrying lumber on my back). Everything else 
>I work on (on a daily basis) uses fast, more efficient code repos and 
>more efficient workflows. If forced to use things that slow me down, 
>I'll just pass and do something that quite honestly is a lot more fun.

While I'm sympathetic to toolchain woes, I can't help but wonder if 
you're being really honest here (with yourself, at least).  Running "svn 
diff" may make you feel bad inside, because svn isn't the latest cool 
toy, but a *hurdle*?  It's just difficult to understand.
>Hopefully supporting a workflow like this will bring Twisted 
>contributions back into the "fun"realm for more folks...

Yes, hopefully so.

Jean-Paul



More information about the Twisted-Python mailing list