[slime-devel] Re: Mercurial

David Brown lisp at davidb.org
Thu Mar 6 00:51:34 UTC 2008


On Wed, Mar 05, 2008 at 11:24:42AM -0800, Steve Morin wrote:

>I have worked on branches in cvs svn and perforce.  I don't know so please
>educate me how do these other version control systems make a marked
>improvement in branching and distributed development?

They're all broken in different ways, but it all boils down to not storing
enough metadata with the branch/merges.  CVS and Perforce share in that
they track files individually, not directories.  This breaks down when
there are renames and such in one branch.  SVN doesn't store merge history,
so has to be told what might be a common ancestor for a merge.

None of them do distributed development, they only let other developers
connect remotely.  Each still checks out and checks into a single repo.  A
distributed system allows me to create my own branches without even needing
write permission on a central repo.

Without using and understanding a distributed revision control system, it's
hard to understand why it is so much more powerful and useful.  It is
really a much better way of working.

We use Perforce at my work.  Most of us on my team use a Perforce->git
gateway to be able to do useful tracking and distributed development.

David



More information about the slime-devel mailing list