[Python-Dev] Looking for VCS usage scenarios

Gustavo Niemeyer gustavo at niemeyer.net
Thu Nov 6 13:04:55 CET 2008

>  > >    * Will a DVCS allow simpler operation as if we are still using a
>  > >      centralized system like CVS or Subversion?
> Yes and no.  There is nothing to prevent a formal workflow like that
> in CVS/Subversion.  However, the separation of "commit" into "record
> && push to authoritative" leaves open the possibility of annoying
> glitches until you get used to it, and even then it's easy to forget
> to push or to forget that you've committed not-for-pushing stuff, etc,
> etc.  In practice it is probably simpler to use a dVCS-specialized
> workflow like "record && push to candidate".

Bazaar offers the same semantic if you want to use it.  In practice,
when you use "bzr checkout" to get a branch, it becomes bound to the
remote branch.  When you commit to a local bound branch, the change is
automatically pushed to the server, including the needed locking
semantics, so the workflow is pretty much the same as if it were a
Subversion checkout (hence the command name).  Branches can be freely
bound and unbound without effort, if desired.

In the team I work on we've been using this for a while for the
"authoritative" branches.  So it's a distributed workflow otherwise,
but at the end of the life cycle of a branch, we merge and commit to a
bound branch pretty much like committing a change to Subversion.

Gustavo Niemeyer

More information about the Python-Dev mailing list