[Twisted-Python] Subproject releases

Christopher Armstrong radeex at gmail.com
Wed Oct 12 03:02:02 MDT 2005


On 10/12/05, glyph at divmod.com <glyph at divmod.com> wrote:
> I'm not sure which one it was, so if I'm responsible for rejecting it I've changed my mind, but if I was arguing in favor of it I'm now even more vociferous :).

I'm pretty sure this is a change of mind, and one I'm quite happy to see. :-)

>
> The Divmod repository is now organized this way, and we have a tool (Combinator) which keeps PYTHONPATH from exploding into a million pieces that kill you.  For an example of this repository structure see <http://divmod.org/trac/browser/trunk>.
>
> I think that it would be a very good idea to re-organize the Twisted repository this way, especially given the path semantics of the new plugin mechanism.  It is difficult to sanely decide which project plugins for another project ought to be distributed with at this point, and as we move towards more usage of plugins rather than direct imports for integration, this problem is only going to get worse.
>
> I would suggest trunk/TwistedWords trunk/TwistedCore trunk/TwistedNames (etc etc).  Cherry-picked branches would still be a little bit of work to construct, but a reasonable amount (and appropriate local checkout structure could probably also approximate them).
>
> I realize that this has the potential to be a pretty disruptive change.  I'm open to suggestions on when would be a good time, and I have no plans to push hard to get this to happen any time soon.  I do think it would be a good idea eventually, though.

I am hella-+10-for-this, as it would make the release process much
much saner, but it's not going to be trivial. Has Divmod yet figured
out how to have multiple top-level "twisted" directories without
running a setup.py? Initially, I tried to hack something together that
munged twisted.__path__ (look that one up, if you don't know about it,
it's way wonky) to include all the subproject twisted directories, but
trial just totally hated that (I remember fighting with
modulename->filename conversion, or vice versa). I can't remember if
that was the only thing that held me back from that solution, but I'm
definitely willing to take another whack at it. Especially now that
trial is massively cleaned up and I live with its maintainer ;)

--
  Twisted   |  Christopher Armstrong: International Man of Twistery
   Radix    |    -- http://radix.twistedmatrix.com
            |  Release Manager, Twisted Project
  \\\V///   |    -- http://twistedmatrix.com
   |o O|    |
w----v----w-+




More information about the Twisted-Python mailing list