On Mon, Nov 3, 2008 at 22:56, Brett Cannon <brett at python.org> wrote:
> But then again, having one scenario that shows svn's weakness directly
> wouldn't hurt. I could see a scenario where I start to fix something
> in branch A, realize that a deeper issue needs to be fixed, leading to
> branch B, and then have branch A depend on branch B. Is that possible?
> Or is injecting branch dependencies like that not workable? If it
> doesn't work, then a branch A/B that a branch C is dependent on would
> also work as a scenario (e.g. reworking the testing framework where
> you are doing a bunch of different things at once that are culminating
> in a single new testing branch that collects everything).
Here's a real-life Python example: http://bugs.python.org/issue2292. I
actually developed that in two separate branches, one depending on the
other: one branch for *just* the changes to functioncalls, to generalize *-
and **-unpacking in that context, and one branch to add *- and **-unpacking
in other contexts, which was a much more contentious proposal. The division
means that the first part can be committed without the second part *without
any extra effort from anyone*. I wouldn't have to undo changes, I wouldn't
have to reapply diffs or do a painful manual merge were the first branch to
be merged into the trunk. It would be completely straightforward and
effortless.
Of course, that's just a small-scale example. I've done much larger of these
in the past, but not on Python. You can easily dream up more examples,
though: a branch for the gforth generated ceval loop, with separate branches
off of that branch with different approaches to the superinstructions. The
right one could be picked at a later time, or branches could be merged, or
they could all be omitted. The generated ceval loop could be backported to
2.7 without including the superinstructions that were merged into 3.0.
--
Thomas Wouters <thomas at python.org>
Hi! I'm a .signature virus! copy me into your .signature file to help me
spread!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20081103/caf07f58/attachment.htm>