Welcome to MSDN Blogs Sign in | Join | Help

CVS compared with Team Foundation Version Control

In the Team Foundation forum a question was asked regarding CVS compared to Team Foundation Version Control.  Here's what I wrote.

Of course, Team Foundation is much more than version control since we have integrated work item tracking, reporting, etc.

I'm biased, of course, and I'm probably leaving stuff out.  I've used CVS in the past, but I wasn't exactly a power user.  Okay, here goes.

TFS has atomic checkins.  When you check in, it all succeeds or fails.  No changes are committed unless the whole thing succeeds.  CVS does not have this.

TFS has shelving, and CVS does not.  Shelving is a great way to juggle sets of changes as well as backup changes without checking them in.

TFS has a SQL database for the server, and CVS does not.  This means that adminstering it uses the same tools famililar to database admins (in beta 2, there is ADAM data not in SQL, but ADAM has been removed -- ignore this comment if it doesn't mean anything to you).

CVS and TFS both support parallel development.  Everyone checks out and modifies files and resolves conflicts before checking in.  There's no need to grab an exclusive lock.

CVS does a better job with "offline" mode than TFS in version 1.  It's inherent to CVS because you just modify files and then sync up with the repository before checking in.  When you pend an edit in TFS, you must be able to talk to the server to do it.  We'll be doing a lot more for offline support in the next version.

TFS branches in path space, which means that branch is a lot like copy.  CVS branches are different.  Branches in TFS can have different permissions (main vs. release branches).

TFS has checkin policies, and CVS does not.

TFS supports rename/move, but CVS does not.

The TFS command line, h.exe, has really nice dialogs for command like checkin, shelve, and resolving conflicts (there's also a /noprompt option to suppress dialogs).  CVS doesn't have that.

TFS comes with a full GUI, either VS 2005 or the Team Foundation Client (to be renamed Team Explorer).  CVS does not have a GUI itself, though there are several available.

TFS uses its SQL server for history queries.  CVS doesn't have that support.

TFS uses SOAP over HTTP (or HTTPS) to communicate with the server.  You don't need to open other ports or tunnel through ssh for remote access as you would for CVS.

TFS stores files compressed as reverse deltas (diffs from one version to the next).  CVS can't do that.

CVS and TFS both have branch and merge capabilities, but the changesets used by TFS make it easier to manage.

Published Friday, June 03, 2005 10:22 PM by buckh
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# I bookmark della notte... ehm... del giorno #13

Saturday, June 04, 2005 3:05 AM by Lorenzo Barbieri @ UGIblogs!

# re: CVS compared with Team Foundation Version Control

Since many open source projects have moved from CVS to Subversion (and many more will when SourceForge finally release their svn functionality), how does TFS compare to Subversion?

From your list above, the only thing that Subversion doesn't do is "shelving". And I'd argue that Subversion WebDAV is a better use of XML for communication than SOAP. In addition, subversion has Unix clients provided by the original author, not by third parties (who are more likely to make implementation mistakes).

You comment that TFS is much more than version control (work item tracking, etc). If you were going to make that comparison with Subversion then you need to throw Trac into the mix. (Hint: don't try and install Trac on Windows - it's painful. Use a Linux package manager to have a play)
Saturday, June 04, 2005 7:18 AM by RichB

# re: CVS compared with Team Foundation Version Control

Regarding what I send about SOAP vs WebDAV, Subversion has this to say:

"In informal tests, we've had success reading and writing to Subversion repositories via Windows Web Folders"

Try doing that with TFS!

Subversion now supports cross-platform file system versioning for users who have no idea what a source control system is :-)
Saturday, June 04, 2005 7:27 AM by RichB

# MKS Source Integrity

Would you be able to do one of these comparing TFS to MKS SI?
Saturday, June 04, 2005 2:23 PM by James

# New Team System Stuff - 2005-06-04

Visual Studio Team System


Bill Sheldon from InterKnowlogy has an item in the June 3rd edition of...
Sunday, June 05, 2005 1:03 AM by Rob Caron's Blog

# Team Foundation Version Control a confronto con CVS

Sunday, June 05, 2005 11:11 AM by UGbLog di Pierre Greborio

# re: CVS compared with Team Foundation Version Control

I'm not familiar with MKS, though I've heard of it.
Monday, June 06, 2005 8:24 PM by buckh

# re: CVS compared with Team Foundation Version Control

I would like to know if TFS will have branche history support?
Wednesday, June 08, 2005 2:11 AM by Ove Lartelius

# re: CVS compared with Team Foundation Version Control

Ove, TFS does indeed track branch and merge history. For branch history, you can use the "branches" command from the command line or see it in the properties dialog in Source Control Explorer inside of Visual Studio. For merge history, there is the "merges" command. Use "merge /candidates" to see what needs to be merged (this is also shown in the merge wizard available in Source Control Explorer).
Wednesday, June 08, 2005 10:44 AM by buckh

# re: CVS compared with Team Foundation Version Control

I'd like to throw another arguement in here following on from what Rich B said:

"From your list above, the only thing that Subversion doesn't do is "shelving". And I'd argue that Subversion WebDAV is a better use of XML for communication than SOAP. In addition, subversion has Unix clients provided by the original author, not by third parties (who are more likely to make implementation mistakes)."

Unix and Subversion are both Free. Could the bonus of shelving really justify the cost of using TSF.
Thursday, June 16, 2005 7:01 AM by Atul Thakor

# re: CVS compared with Team Foundation Version Control

Atul, I'm sure if you are going to use Visual Studio 2005 TFS has lot's of justified benefits over other free solutions.
Thursday, June 16, 2005 9:43 AM by Jason

# Comparison: CVS and Team Foundation Server

Saturday, July 02, 2005 4:10 PM by Visual Studio Team System (VSTS) Blog

# Comparison: CVS and Team Foundation Server


CVS compared with Team Foundation Version Control
Thursday, February 16, 2006 5:25 PM by Visual Studio Team System (VSTS) Blog

# Comparing TFVC and CVS « Notes.ToString()

Monday, September 11, 2006 1:54 AM by Comparing TFVC and CVS « Notes.ToString()

# Comparison of CVS versus Source Code Control in Team Foundation Server

I am cleaning out my blog folder after getting quite behind in all the things I have been wanting to

Wednesday, April 16, 2008 6:03 PM by Bryan Hinton's Blog

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker