[Twisted-Python] git?

Jonathan Ballet jon at multani.info
Sun Mar 16 01:31:33 MDT 2014


Hi Glyph,

On Thu, Mar 13, 2014 at 12:35:17PM -0700, Glyph Lefkowitz wrote:
> 
> On Mar 13, 2014, at 4:14 AM, Laurens Van Houtven <_ at lvh.io> wrote:
> 
> > HawkOwl probably meant that it would be hard to get all the tooling (trac, ci...) working while switching up the VCS out from under it. There's a *lot* of stuff that relies on SVN details.
> 
> I think handwaving over the list of things that need to be done might make people unnecessarily afraid to work on this.  The list is finite :-).
> 
> All of our infrastructure is (or at least, should be) available here <https://github.com/twisted-infra/braid>.  It should be possible to submit a PR against that repository (and the relevant submodules) which makes the update and then just deploy it with 'fab config.production'.
> 
> The major blocker is that we need to upgrade Trac to get a version of Trac that supports a Git source browser reasonably, and can detect ticket references and ticket closures from Git commit messages.  This is currently stuck: <https://twistedmatrix.com/trac/wiki/Infrastructure/UpgradingTrac>.  This would be good for lots of other reasons, but upgrading trac has proven very difficult in the past.
> 
> We might also need to install a trac plugin of some kind for the git stuff, I'm not sure about that.
> 
> We would also need to port the post-commit hooks in SVN which tell Kenaan to announce commits on IRC, enforce repository structure (i.e. no merges to trunk, or, presumably, "master", without a fixed bug and a NEWS file, unless it's a quote file change), and kick off buildbot.
> 
> Right now there's some SVN mirroring stuff to keep SVN updated on Trac, since we don't want our release repository on the same machine running the website.  (code.twistedmatrix.com has a much smaller attack surface).
> 
> The CI system actually already uses git, in preparation for this merge, so I don't think there's a whole lot of work there.  We might not even need to set a different upstream URL.
> 
> If someone would like to turn this list into a wiki page under <https://twistedmatrix.com/trac/wiki/Infrastructure> that would be great, so it could be updated with anything I've forgotten. Right now there's the beginnings of a SwitchToBazaar which should probably be deleted, since we're not going to do that.

I don't have edit permissions on the wiki, so I took the list of stuff
you mentionned here and made a wiki page joined to this email.

Compared to the SwitchToBazar page, here are the things which are
missing from your email - I don't know how relevant they are though:

 * mailer post-commit hook
 * the release scripts
 * the developer documentation (I guess that should be done)
 * figure the version number from Git instead of Subversion
 * decide what to do with Combinator

There might be still some editing to do but that could be a start.

 Jonathan
-------------- next part --------------
= To do list for switching the code repository from Subversion to Git =

//This acts more as a reminder of things to do than the actual definitive list. Feel free to update it if things are missing.//

Changing the repository must still meet the [wiki:WorkflowRequirements workflow requirements].

 * Changes to the infrastructure should be made against the [https://github.com/twisted-infra/braid braid repository] (or its sub-modules) so that it can be deployed with `fab`
 * Upgrade Trac:
   * It's old and needs Git support for:
     * be able to browse the repository
     * detect ticket references and ticket closures from Git commits messages

     Starting from Trac 1.0, Git is supported out of the box, see http://trac.edgewall.org/wiki/TracGit
   * See current works on [wiki:Infrastructure/UpgradingTrac upgrading Trac].
 * The CI system already uses Git. Is there any changes to make here?
 * Port the post-commit hooks from Subversion to Git:
   * IRC announcements from Kenaan
   * repository structure enforcement (i.e. no merges to trunk, or, presumably, "master", without a fixed bug and a NEWS file, unless it's a quote file change)
   * Buildbot kick off

     Is it already done?
 * Is there any need to have a Git mirror on the same machine as Trac?
   * we don't want our release repository on the same machine running the website.  (code.twistedmatrix.com has a much smaller attack surface)


More information about the Twisted-Python mailing list