[Python-Dev] PEP: Migrating the Python CVS to Subversion

Guido van Rossum gvanrossum at gmail.com
Wed Aug 10 16:32:27 CEST 2005


On 8/10/05, Fredrik Lundh <fredrik at pythonware.com> wrote:

> in contrast, Perforce just runs and runs and runs.  the clients always
> do what you tell them.  and server maintenance is trivial; just make sure
> that the server starts when the host computer boots, and if you have
> enough disk, just leave it running.  if you're tight on disk space, trim
> away some log files now and then.  that's it.

We've used P4 at Elemental for two years now; I mostly agree with this
assessment, although occasionally the server becomes unbearably slow
and a sysadmin does some painful magic to rescue it. Maybe that's just
because the box is underpowered.

More troublesome is that I've seen a few client repositories getting
out of sync; one developer spent a lot of time tracking down
mysterious compilation errors that went away after forced resync'ing.
We never figured out the cause, but (since he swears he didn't touch
the affected files) most likely hitting ^C during a previous sync
could've broken some things.

Another problem with P4 is that local operation is lousy -- if you
can't reach the server, you can't do *anything* -- while svn always
lets you edit and diff. Also, P4 has *no* command to tell you which
files you've created without adding them to the repository yet -- so
the most frequent build breakage is caused by missing new files.

Finally, while I hear that P4's branching support is superior over
SVN's, I find it has a steep learning curve -- almost every developer
needs some serious hand-holding before they understand P4 branches
correctly.

I'm intrigued by Linus Torvald's preference for extremely distributed
source control, but I have no experience and it seems a bit, um,
experimental. Someone should contact Steve Alexander, who I believe is
excited about Bazaar-NG.

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


More information about the Python-Dev mailing list