[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cvs vs. perforce
Re: cvs vs. perforce
Fri, 29 Mar 2002 22:19:07 +0100
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
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
- 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,
http://people.freebsd.org/~eivind/CVSFile-0.2.tar.gz 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