(original) (raw)



On Mon, Nov 3, 2008 at 18:57, Brett Cannon <brett@python.org> wrote:

On Sun, Nov 2, 2008 at 17:08, Gustavo Niemeyer <gustavo@niemeyer.net> wrote:
> Hi Brett,
>
>> At this point I am looking for any suggestions for fundamental usage
>> scenarios that I am missing from the PEP. If you think the few already
>> listed are missing some core part of a VCS, please let me know.
>
> As an initial disclaimer, I use bzr in my daily routine.  That said,
> I'm sending below a few mostly unbiased high-level ideas, just based
> on useful ways we explore the DVCS-aspect on our normal daily
> workflow.
>
> == Coordinated development with dependent features ==
>
> A variation on coordinated development, which is actually one of the
> main motivators for DVCS.  Branch A is evolving out of the mainline,
> and it depends on a feature that is on branch B which is also not yet
> integrated.  Parallel development of both should be nicely supported.
> I'm sure all DVCS will do that in a decent form, but figuring how this
> works may be instructive and worth mentioning.
>

Since I have never seen that come up during Python's development I am
going to leave it out. But I do see the benefit and how it might help
with future work.

Euhm, wut? It hasn't come up during Python's development because Python is being developed in a VCS with very limited branches :) I'm partial to VCS's with proper branching (as you know) and I've been using that mode of development for many years. I've done development and maintenance of multi-developer projects using both the CVS/SVN nonbranching approach and the typical DVCS branch-often approach using BitKeeper, Bazaar and Mercurial (as well as the sort-of one-off-branch Perforce approach where you can easily 'wrap' a single change but can't really do dependant changes) -- and whenever possible I use the branch-often approach with dependant branches all over the place, especially when working on large, complicated changes. Building them up out of separate 'components' requires a little more administration (you have to remember which branch to submit to) but it makes debugging, piecemeal discussion and batchwise integration a \*lot\* easier.

--
Thomas Wouters <thomas@python.org>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!