Opened 13 years ago

Closed 11 years ago

#1697 enhancement closed invalid (invalid)

Merge Combinator into Twisted

Reported by: hypatia Owned by:
Priority: lowest Milestone:
Component: core Keywords:
Cc: oubiwann, radix, Jean-Paul Calderone Branch:
Author:

Description

See Ticket #1222:

"I actually think that we should adopt an *un*modified version of that branch policy :). I have been meaning to roll Combinator into Twisted one of these days when I have some spare time.

"The tools could also probably be improved by integration with Twisted; right now they are in a weird limbo of dependencies, since you use Combinator to install Twisted after you install Divmod. It would make a lot more sense to use Combinator to install Divmod after you install Twisted."

Change History (9)

comment:1 Changed 13 years ago by Glyph

I think that I want to put it into a package called "twisted.branches" when we do this :)

comment:2 Changed 13 years ago by Jean-Paul Calderone

Why would it be a twisted subpackage at all? It needs to import some things from Twisted. Does Twisted need to import things from it? There's also little or no reason to actually distribute or install it, afaict. Putting it under twisted/ makes it more complicated to omit.

comment:3 Changed 13 years ago by oubiwann

Cc: oubiwann added

comment:4 Changed 13 years ago by Glyph

Priority: normallowest

comment:5 Changed 13 years ago by Glyph

This is stuck at "lowest" priority, probably for a good long while.

The main things that I would like something like Combinator to help deal with are:

  1. enforcing proper branch/merge procedure
  2. providing developers with a simple suggested setup for a local development environment for contributing Twisted patches, both against branches and trunk
  3. allowing the repository to be more completely split up along subproject lines, i.e., instead of the current structure,
    /trunk/TwistedWords/
    /trunk/TwistedWords/setup.py
    /trunk/TwistedWords/README.txt
    /trunk/TwistedWords/NEWS.txt
    /trunk/TwistedWords/twisted/words/
    /trunk/TwistedCore/
    /trunk/TwistedCore/setup.py
    /trunk/TwistedCore/README.txt
    /trunk/TwistedCore/NEWS.txt
    /trunk/TwistedCore/twisted/internet/
    

Issues 1 and 2 are already basically taken care of; people who want Combinator know where to get it, nobody has actually objected to having to go look at the Divmod repository and the weird dependency ordering is a very mild inconvenience, since it doesn't have any practical impact.

To deal with issue 3, though, there would be not only a merge required, but quite a bit of feature addition as well. Combinator already manages this sort of thing, but it would have to get even smarter to do so inside the same repository. Traditionally this would require 12 separate entries on one's PYTHONPATH, not to mention the difficulty of then easily saying "I'd like to run with trunk of everything except twisted.web and twisted.core, which I want from the last release branch". It seems to me that having some tools around this sort of structure would help the average developer a lot. Still, there is also a vocal minority of hackers (especially spiv) on Twisted who really don't like the bizarre monkeying that your path which Combinator does, and I can appreciate that. Developers who don't use SVN for other projects would find its utility significantly diminished. In order to provide those conveniences to such developers (because Twisted does address a wider audience than Divmod's stack) Combinator would have to grow another set of features to make its existing manipulations more tunable and explicit.

So, basically, no work is required to address some issues, and a whole big pile of very ill-defined work would be required to address others. I think it's much better to continue slowly enhancing combinator where it is, rather than trying to address all of these problems at once.

comment:6 Changed 13 years ago by radix

Combinator doesn't actually deal with that directory structure, nor would it require 12 separate entries on one's PYTHONPATH (adding TwistedWords and TwistedCore to PYTHONPATH in your example would not do anything meaningful). path monkeying in the 'twisted' package is the only thing that will allow for that.

But this isn't really relevant to this ticket. I guess we should add "reorganize SVN to match the split" as a new ticket?

comment:7 Changed 11 years ago by Jean-Paul Calderone

Cc: radix Jean-Paul Calderone added

As far as I know, there is no longer a plan to reorganize the SVN repository to match the split.

I feel like closing this ticket as wontfix. Do I need to elaborate on the reasons for that, or are they self-evident?

comment:8 Changed 11 years ago by Glyph

Resolution: invalid
Status: newclosed

I'd actually go with "invalid". As my earlier comment said, this work is "ill-defined". I think that any ticket blocked on deciding what the ticket actually means should probably be closed as invalid, since almost by definition no progress can be made on the task as it's described.

However, this is still something I'd potentially like to do some day; for one thing, I'd like to use FilePath in Combinator, but the logistics of cross-repository dependencies on your first 'chbranch' make that untenable.

When I can figure out some tractable way to deal with that dependency tangle, I'll write up how I intend to do it in a new ticket and maybe someone can make some progress. But until then, death to bad tickets!

(If some other interested party wants to disagree, feel free to reopen.)

comment:9 Changed 9 years ago by <automation>

Owner: Glyph deleted
Note: See TracTickets for help on using tickets.