Microsoft Visual SourceSafe
From Wikipedia, the free encyclopedia
Microsoft Visual SourceSafe is a source control software package oriented towards smaller software development projects.
Contents |
[edit] Overview
Visual SourceSafe (VSS) is a client/server application which acts as a storage system for files. A file stored in a VSS server is not available via the standard file system, instead, it must be accessed through the VSS client tools - the VSS windows client, the VSS command-line tool, or else some application which integrates with or emulates these client tools.
Like most source control systems, SourceSafe creates a "virtual library" of computer files. Users can read any of the files in the library at any time, but in order to change them, they must first "check out" the file. They are then allowed to modify the file and finally check it back in. The changes are made available to the other users only after the file has been checked in.
Most often used for source code, SourceSafe can actually handle any type of file in its database, but prior versions have been shown to destabilize when confronted with large amounts of non-textual data (images, binary executables, etc). It is not yet clear whether the latest version has improved in this respect.
Microsoft only supports SourceSafe for Windows platforms. The following Microsoft partners offer non-Windows version of SourceSafe:
- Dynamsoft offers a SourceSafe add-on product SourceAnywhere for VSS that provides a pure Java Client for SourceSafe. This Java Client can run on any platform where JVM can run, including Linux, Unix, Macintosh, Solaris, etc.
- Metrowerks offers a source code control product that is fully compatible with Visual SourceSafe for the Macintosh.
- SourceGear offers a SourceSafe add-on product SourceOffSite that includes clients for Linux, Macintosh and Solaris.
[edit] Advantages
Visual SourceSafe's advantages are relative ease of use and some degree of integration with other Microsoft development solutionss. For small or medium scale development, where multiple versions are not simultaneously supported, its limitations do not cause major problems. Further strong points include its excellent integration with Microsoft Visual Studio, its easy-to-use interface, and the fact that it is included as part of certain MSDN Subscriptions.
When compared to its competitors, however, these advantages seem less extreme. Its most popular open source competitors — Subversion and CVS — are free.
[edit] Criticisms
Opinions on Visual SourceSafe vary. Some programmers feel that it is sluggish, causes system instability and is missing features taken for granted on newer revision control systems. The perceived sluggishness of SourceSafe depends greatly on the environment in which it is set up. In single user and small team LAN configurations, it can be reasonably fast. The instability criticism is rooted in the fact that Visual SourceSafe uses a file based archive architecture in which any client can update a file in the archive after "locking it". If a client machine crashes in the middle of updating such file, the file could become corrupted. Many users of Visual SourceSafe get around this limitation by regularly backing up the database and using the utility provided with Visual SourceSafe which checks the database for corruption and can fix certain errors. Many small teams (around 5 people) have used Visual SourceSafe successfully for a number of years without ever experiencing such a corruption. However, because revision control is such a vital activity for software development teams, the mere possibility of such an undesirable event (however small) has the effect of discouraging potential users and contributing to their negative opinion of the system. Visual SourceSafe 2005 is meant to address the performance and stability concerns, although Microsoft suggests that larger development teams migrate to its new flagship SCM product, Team Foundation Server.
[edit] SourceSafe add-on tools
- Acorden SourceXT
SourceXT is a web service gateway to Visual SourceSafe. It provides remote access to SourceSafe files over a standard Internet connection.
- Bris SourceHelper
SourceSafe add-on that extends VSS functionality. It enables you to specify actions and run them at any time, and to search the repository for information.
- CheXpy
CheXpy is a utility for that monitor and notifies on changes in Visual SourceSafe repositories.
- Configuration Manager's Workbench
A family of configuration management utilities providing extensions to SourceSafe. These extensions include change and problem tracking, task tracking, software inventory and release management.
- CryptoMonkey CMNotify
A single, simple server for email notifications from Visual SourceSafe.
- Dynamsoft SourceAnywhere for VSS
SourceAnywhere for VSS is a VSS remote access solution. As an add-on tool of SourceSafe, it provides fast, reliable and secure remote access for users of SourceSafe 6.0 and SourceSafe 2005.
- Free backup script for Visual Sourcesafe
This free backup script (DOS) for Visual Sourcesafe creates separate directories for each project and saves all files. Reports to file and, optionally, email.
- SourceCompanion
Provide email notification for changes in VSS, and synchronizing with VSS directly using email, batch synchronization, intelligent merge of redundant emails. Clients side is entirely integrated within Outlook and VSS.
- SourceOffSite
SourceOffSite lets you use SourceSafe remotely over any TCP/IP network.
- SourceSafe Reporter
Tools that lets you generate reports on projects, file, checkouts and users in XML, HTML and RTF formats.
- SourceSafe Tools
Fast file-diffs, remote code reviews, and whole-project analysis. Integrations with Explorer and Visual Studio 6.0 and .NET.
- SourceXplore
A shell extension which allows you to perform basic SourceSafe operation directly from windows explorer. This product no longer supported however can still be downloaded for free.
- Speed SQL IDE Pro
Connecting MS SQL Server with MS Visual Source Safe and other Version Control Systems for Total SQL Source Control.
- TSASG SSAnalyzer
A SourceSafe add-on tool that aims to reduce maintenance costs by identifying and correcting duplicated and near duplicated files, as well as inappropriately branched files.
- Visual SourceVizor
A SourceSafe add-on that provides E-mail notifications, reports on SourceSafe activity, control of working folders override and other functionality.
- VSS Data Export Tool
This is a tool to export the metadata of VSS files to a database like Access or SQL Server, for further analysis.
- VSS Remoting
Access remote SourceSafe databases through an internet connection. Integrations with Visual Studio, Macromedia Studio MX and Borland Delphi.
- VSS.net
Allows one to use Visual SourceSafe over the Internet by HTTP and .NET WinForms.
- VSSConnect
Remote SourceSafe access using low bandwidth internet connections.
[edit] 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 reported [1], [2], that very few projects within Microsoft rely on VSS, and that the predominant tool is SourceDepot, from which Perforce was later derived. The Microsoft Developer Division is now using the new Visual Studio Team System for most of its internal projects[3], although a VSS transcript implied that other large teams use "a mix of customized in-house tools."
[edit] SourceSafe's future
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 will continue to be offered as a retail product and part of certain MSDN Subscriptions.
However, Microsoft also introduced a source control and project lifecycle management product called Visual Studio 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.
According to the Visual SourceSafe Road Map and between-the-lines reading of a VSS transcript, Visual Source Safe is targeted towards individual developers or small teams with lightweight SCM needs. Microsoft is encouraging everyone else to migrate to the more sophisticated (and more expensive) Team Foundation system.
[edit] See also
- Revision control
- Configuration management
- Software configuration management
- Change management
- List of software engineering topics
[edit] External links
- 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
- Source Safe 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 Source Safe 2005 Web Cast Source Control and Team Development Using Visual Studio .NET and Visual SourceSafe
- Microsoft's Source Destruction System
- VSS plugin for Eclipse
- Visual SourceSafe Version Control: Unsafe at any Speed?
[edit] Chats
On August 5, 2004 and December 29, 2004 the Visual SourceSafe product team hosted online chats on MSDN to answer questions about Visual SourceSafe 6.0 and the upcoming Visual SourceSafe 2005. Transcripts of these chats are now available: