<br><br><div class="gmail_quote">On Mon, Nov 3, 2008 at 22:56, Brett Cannon <span dir="ltr">&lt;<a href="mailto:brett@python.org">brett@python.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div>But then again, having one scenario that shows svn&#39;s weakness directly<br></div>
wouldn&#39;t hurt. I could see a scenario where I start to fix something<br>
in branch A, realize that a deeper issue needs to be fixed, leading to<br>
branch B, and then have branch A depend on branch B. Is that possible?<br>
Or is injecting branch dependencies like that not workable? If it<br>
doesn&#39;t work, then a branch A/B that a branch C is dependent on would<br>
also work as a scenario (e.g. reworking the testing framework where<br>
you are doing a bunch of different things at once that are culminating<br>
in a single new testing branch that collects everything).</blockquote><div><br>Here&#39;s a real-life Python example: <a href="http://bugs.python.org/issue2292">http://bugs.python.org/issue2292</a>. 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&#39;t have to undo changes, I wouldn&#39;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.<br>
<br>Of course, that&#39;s just a small-scale example. I&#39;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.<br>
</div></div><br>-- <br>Thomas Wouters &lt;<a href="mailto:thomas@python.org">thomas@python.org</a>&gt;<br><br>Hi! I&#39;m a .signature virus! copy me into your .signature file to help me spread!<br>