Subversion is the most popular source control tool for a reason it is robust, mature and has a vibrant supporting tools market, including the excellent windows client, tortoise svn. The most popular source control tool, according to this survey is Subversion. If you know you need TFS for its tight integration and management tools, then I think you can be pretty confident about its source control capabilities. I haven’t used the integrated bug/task tracking, but that might be a good reason to favour TFS over competing SC tools. The integration with Visual Studio is too intrusive it’s hard to work disconnected and you can only be connected to one TFS server at a time, which is a serious limitation. The unit testing tool in particular is very poor and the build server is unnecessarily complex and hard to use. However TFS is much more than just a source control tool, and unfortunately some of the other features are not good examples of their type. Admittedly I haven’t exercised features such as shelving or branching, but my experience has been good. I’ve been using TFS source control for over a year. Microsoft recommends the source control system from Team Foundation Server. There are many source control systems on the market, but I think the choice fundamentally comes down to two contenders: Microsoft’s recommended tool and the most popular tool. If it’s so bad, what should we be using instead? Source Safe has historically been the default choice for Microsoft shops. I’ve seen kludges where the build server waits an interval after the last check-in before kicking off a build, but they are just that kludges. Without atomic commits your automated build has no way of knowing when a related set of changes has finished arriving. The first point pretty much rules out Source Safe if you want to do continuous integration. Requires a file share to work and does not perform well over slow connections.
This means that versions of the software prior to the deletion are not valid. Permanently deleting a file also deletes its history.If you rename a file and than get a version previous to the rename, the file will have the new name. It doesn’t keep a history of file renames.
If a file is changed you have no way of linking a set of file changes that implement a particular feature or fix a bug. The one simple answer to choosing a source control tool is easy: don’t choose SourceSafe.