Microsoft Visual SourceSafe
|Stable release||2005 (8.0.50727.42) / October 2005|
|License||Proprietary commercial software|
Microsoft Visual SourceSafe (VSS) is a source control software package oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files. While most commonly used for source code, SourceSafe can actually handle any type of file in its database, but prior versions have been shown to be unstable when confronted with large amounts of non-textual data (images, binary executables, etc.).
SourceSafe was originally created by a company called One Tree Software. One Tree SourceSafe had gone through several releases in their 1.x to 2.x cycles, supporting DOS, OS/2 (with a Presentation Manager GUI), Windows, Windows NT, Mac, and Unix. When Microsoft bought OneTree in 1994, they immediately ceased development on all versions except for Windows. Microsoft "Visual SourceSafe 3.1", a Windows 16-bit-only, rebranded One Tree 3.0 version, was briefly available before Microsoft released a Version 4.0.
SourceSafe was initially not a client/server Source Code Management, but rather a local only SCM. Architecturally, this serves as both a strength and weakness of design, depending on the environment it is used in. It allows a single user system to be set up with less configuration than that of some other SCM systems. In addition, the process of backing up can be as simple as copying all of the contents of a single directory tree. For multi-user environments, however, it lacks many important features found in other SCM products, including support for atomic commits of multiple files (CVS has the same problem as it is built upon the original RCS). SourceSafe inherits its shared functionality using direct remote file system access to all the files in the repository. This, together with a bug where the code is using old memory after a call to reallocate, are contributing factors to why SS databases sometimes go bad.
Starting with VSS 2005, Microsoft has added a client–server mode. In this mode, clients do not need write access to a SMB share where they can potentially damage the SS database. Instead, files must be accessed through the VSS client tools - the VSS windows client, the VSS command-line tool, or some application that integrates with or emulates these client tools.
Visual SourceSafe's stability is criticised due to the way Visual SourceSafe uses a direct, file-based access mechanism that allows any client to modify a file in the repository after locking it. If a client machine crashes in the middle of updating a file, it can corrupt that file. Many users of Visual SourceSafe mitigate this risk by making use of a utility provided by Visual SourceSafe that checks the database for corruption and, when able, corrects errors that it finds.
Microsoft in-house use
Although "eating their own dog food" is often said to be part of Microsoft's culture, VSS appears to be an exception; it is widely rumored that very few projects within Microsoft rely on VSS, and that the predominant tool is SourceDepot. According to Matthew Doar:
Microsoft itself used an internally developed version of RCS named SLM until 1999, when it began using a version of Perforce named SourceDepot.
The Microsoft Developer Division is now using the new Team Foundation Server for most of its internal projects,[broken citation] although a VSS transcript implied that other large teams use "a mix of customized in-house tools."
An updated version called Visual SourceSafe 2005 was released in November 2005, promising improved performance and stability, better merging for Unicode and XML files, as well as the ability to check files out over HTTP. It was included with Visual Studio 2005 Team System editions, but is not included with Visual Studio 2008 Team System.
At the same time, Microsoft also introduced a source control and project lifecycle management product called Team Foundation Server, which is part of Visual Studio Team System. This product addresses many of Visual SourceSafe's shortcomings, making it suitable for larger teams requiring high levels of stability and control over activities.
With Visual Studio 2010, Microsoft no longer distributes Visual SourceSafe. Microsoft now offers Team Foundation Server Basic for smaller development teams. There is a hotfix so existing SourceSafe customers can use SourceSafe with Studio 2010.
The final version of the product, Visual SourceSafe 2005, retired from mainstream support on 10 July 2012 with extended support ending on 11 July 2017.
- Visual SourceSafe 2005 Software Configuration Management in Practice (Packt Publishing, 2007)
- Real World Software Configuration Management (Apress, 2003)
- Essential SourceSafe (Hentzenwerke Publishing, 2001)
- Revision control
- Configuration management
- Software configuration management
- Change management
- List of software engineering topics
- Comparison of revision control software
- [Smet, Alan] (2009-04-15). "Visual SourceSafe: Microsoft's Source Destruction System". Retrieved 2010-09-19.
- Bolton, Michael (2003-01-28). "Visual SourceSafe Version Control: Unsafe at any Speed?". Retrieved 2010-09-19.
- "Company News; Microsoft Says It Has Acquired One Tree Software". The New York Times. November 16, 1994. Retrieved 2007-11-21.
- "Best Practices for Preventing Data Corruption". MSDN.
- "Why Not VSS". Subversionary. Retrieved 2012-04-13.
- "It's all Hype. - Jerry Dennany's Occasional Clue". Weblogs.asp.net. 2003-07-15. Retrieved 2012-04-13.
- Doar, Matthew B. (2005). Practical Development Environments. O'Reilly. p. 73. ISBN 0-596-00796-5.
- [dead link]
- "VS 2008 and SourceSafe Q&A - BUGBUG: poor title - Site Home - MSDN Blogs". Blogs.msdn.com. 2007-12-03. Retrieved 2012-04-13.
- Krill, Paul (2009-09-30). "Microsoft looks to move SourceSafe users to newer technology | Developer World". InfoWorld. Retrieved 2012-04-13.
- "Visual SourceSafe Road Map". Msdn2.microsoft.com. Retrieved 2012-04-13.
- Product Overview
- Features Overview
- Microsoft SourceSafe 6.0 General Q & A
- Microsoft SourceSafe 6.0 Technical FAQ
- Product Documentation
- Microsoft VisualSourceSafe Road Map This article gives an overview of Visual SourceSafe and provides a look at where this technology is headed in the future
- SourceSafe Team's WebLog
- SourceSafe Best Practices Outlines recommended practices to help prevent data corruption in Microsoft Visual SourceSafe.
- Team Development with Visual Studio .NET and Visual SourceSafe Guidance and recommendations by the Patterns and Practices Team
- Visual SourceSafe 2005 Web Cast[dead link] Source Control and Team Development Using Visual Studio .NET and Visual SourceSafe
- Visual SourceSafe 2005 at MSDN
- Visual SourceSafe Version Control: Unsafe at any Speed?
- Visual Studio 6.0 SP6 for Latest VSS Service Pack (6.0d)