[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cvs vs. perforce

From: Eivind Eklund
Subject: Re: cvs vs. perforce
Date: Fri, 29 Mar 2002 22:19:07 +0100
User-agent: Mutt/

On Fri, Mar 29, 2002 at 08:05:06PM +0000, Bill Northlich wrote:
> Anyone care to offer reasons, other than "free", to use cvs over 
> perforce?  Or, the other way around?  We are trying to make a decision. 

The below is based on a theoretical analysis of Perforce and talking to a
number of people that use it.  This is because I'm working on my own version
control system, and have not wanted to get tied up in any sort of license
problem with Perforce.

Things CVS are better at than Perforce:
        - Freer license (at least for most purposes)
        - Easy source availability
        - Allows mirroring of repositories, so people can work offline easily
        - Branches with large amounts of small changes (touching many files
          with small changes) will consume more diskspace under p4 than CVS,
          due to the 
        - cvs annotate - no similar feature exists in p4
        - Better known to open source developers, so you get that kind of
          support easier

Things Perforce are better at than CVS:
        - Maintaining metadata.  Perforce handles more kinds of metadata than
          CVS; for instance, a commit is a single unit, and is not spread
          across different files.  I also believes it actually handles
          directories, instead of regarding them as a sort of nuisance and
          delegating them to second class citizen status.
        - Speed.  Should be much faster.
        - Ability to do evaluations for all your workspaces, because the
          metadata is stored on the server
        - Better branch handling - branches are cheap to create, fast to use,
          and p4 maintain merge metadata for them, so keeping branches in sync
          is easier.
        - Support for rename.

All in all, my personal impression is that Perforce is a much better version
control system than CVS unless you need the (few) features CVS are better at.
Annotate and replication are the most important ones; diskspace is cheap, and
in most cases, you'll have enough pain with CVS that you do not want to fix

Some of the branch issues in CVS can be worked around with careful use of
tags (and if you are willing to write code, can be used to work
around more of it), but both of these approaches make replication quite a bit
more expensive, which is likely to be a problem if you have a large


reply via email to

[Prev in Thread] Current Thread [Next in Thread]