[Twisted-Python] Tracking twisted repository post 2.4.0?

glyph at divmod.com glyph at divmod.com
Thu Jun 15 21:04:42 EDT 2006

On 15 Jun 2006 20:07:58 -0400, David Bolen <db3l at fitlinxx.com> wrote:
>We've got some locally maintained modifications to Twisted that prior
>to 2.4.0 we were tracking by syncing our repository with the Twisted
>trunk (as a vendor) at the overall official tags.

Have you submitted those as patches in the bugtracker?  If so, are we being really sluggish about applying them? :)

As you have unfortunately noticed with this change... we don't currently provide any support for configurations like this.  I'd personally like to discourage it, because long-term local modifications to Twisted indicate a failure of process, either you submitting them or us accepting them.

>But with the tagging changes with 2.4.0 (and without a tag for the
>overall trunk), I was wondering if there were suggestions on how to
>adjust our setup.

>I can understand why there is no single tag for the trunk, since an overall
>"Sumo" release of twisted

To reduce confusion we're trying to remove the word "sumo" everywhere.  If you spot that word still being used somewhere on the site it's a bug, please let us know.

Right now it's just "a release of Twisted".

>So how (at the subversion tag level) if at all can I isolate those
>files from beneath the twisted-web-0.6.0 tag that only apply to
>twisted-web, so that I can add them to the files from
>twisted-core-2.4.0 to yield my simulated vendor dump?

You can't, really.  Hopefully the internal repository structure of Twisted will one day look more like this:


and the tags will refer to project directories, like this:


but until that happens, the setup.py files for separate projects determine a fairly arbitrary collection of files.  Specifically, ownership of twisted/plugins/ is spread out between all subprojects.  Also, some files are moved around; the "topfiles" directory is pulled out to the root of each subproject as part of the release process.

>Is anyone else tracking the repository (but not instant to instant at
>the trunk, but rather at release points) and if so, how are you doing
>it post 2.4.0?

Divmod doesn't track Twisted releases through SVN; any changes we are in the process of contributing but which haven't been released are kept in our utility package "Epsilon".  Epsilon has a "hotfixes" module which allows us to modify Twisted's behavior in cases where we really need to modify the library rather than just package additional functionality outside it -- you might look at that implementation as an example of a way to formalize monkeypatching and reduce its fragility.

More information about the Twisted-Python mailing list