Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Subversion vs CVS [closed]

I've used both SVN and CVS a little bit, but will need to choose one for a new project I will be starting.

Can anyone who has used both extensively please offer some pros and cons and which they think is better? Best learning resources would be appreciated too.

This will be for a small project, just one or two developers to start.

like image 366
Eli Avatar asked Oct 28 '08 23:10

Eli


People also ask

What is the difference between CVS and SVN?

CVS only tracks modification on a file-by-file basis, while SVN tracks a whole commit as a new revision, which means that it is easier to follow the history of your project. Add the fact that all modern source control software use the concept of revision so it is far easier to migrate from SVN than it is from CVS.

What is CVS programming?

Concurrent Versions System (CVS) is a program that lets a code developer save and retrieve different development versions of source code. It also lets a team of developers share control of different versions of files in a common repository of files. This kind of program is sometimes known as a version control system .

What is atomic commit in SVN?

It means every commit (of any number of files) will either succeed or fail as a whole. It's not possible that only some of the commited files make it to the repository and others not (for example, because of an error that occurred in the middle of the commit operation or a conflict in one of the files).

How do I use CVS version control?

Use the command cvs add <filename> to add this file to version control. For binary files use the option -kb. Use the command cvs commit <filename> to actually check in the file into the repository. Other developers cannot see the file until your perform this step.


1 Answers

I've used both. There is no comparison; you want svn. The only reason to use CVS is because you are entering or taking over a legacy system with management that does not want to change the status quo. If you are starting on a new project, it is virtually a logical impossibility to argue that CVS is better than Subversion.

If you google around, you should find plenty of comparisons, and rationales for using Subversion over CVS. Some of the advantages of Subversion over CVS:

  • can move or rename files or directories cleanly
  • atomic commits
  • "cheap" copying and branching
  • commits are changesets on the whole tree (not just histories on individual files)

Having said all this, I recommend you also explore some of the distributed VCSs like Bazaar, Mercurial and git. I personally use git on all my projects.

like image 89
Pistos Avatar answered Oct 13 '22 08:10

Pistos