[Idle-dev] DS_RPC_BRANCH

Guido van Rossum guido@python.org
Wed, 04 Sep 2002 07:16:45 -0400


> You seem to be telling me to hurry up and finish the conversion to
> GRPC so that you don't have to feel slighted by being "stuck" on a
> branch that doesn't have the tag "MAIN" :) Hey, it's only a name!
> 
> It's not practical to do the kind of work I'm doing on the same
> branch with other development.  The changes I made were drastic and
> you couldn't work on your tasks with me continually pulling the rug
> out from under you by changing the whole design and internal code
> structure.  And I didn't want to tiptoe about worrying about screwing
> you up.  So the only question was, which branch is called "MAIN"?  And
> the reasonable answer was, the basic rpc design we were going to stay
> with long term, because that puts DS_RPC in a terminating bugfix
> side branch.  It's _much_ easier to merge you to me than vice-versa!

In my experience, this is unusual for a project.  In Python, we have a
rule that the CVS trunk at all times MUST be fully usable and pass all
unit tests.  Any work that cannot maintain this constraint has to be
done on a branch (or, if it's small enough, it's done as a patch in SF
that's never checked in).  Zope does pretty much the same thing except
it users branches more.

I don't think that merging is any harder to merge to a branch than to
the trunk (Zope uses long-living branches and the trunk is often
merged back into the branch then).

So IMO it's slightly unconventional that Kurt's redesign was done on
the trunk and the stable version relegated to a branch.  But what's 
done's done, and now that it's almost over, let's just remember not to
make this mistake again in the future.

--Guido van Rossum (home page: http://www.python.org/~guido/)