HOME

TheInfoList



OR:

Microsoft Visual SourceSafe (VSS) is a discontinued
source control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
program Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * Program, a part of planning Arts and entertainment Audio * Progra ...
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 handle any type of file in its database, but older versions were shown to be unstable when used to store large amounts of non-textual data, such as images and compiled executables.


History

SourceSafe was originally created by a North Carolina 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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
), Windows, Windows NT, Mac, and Unix. When Microsoft bought OneTree in 1994, they immediately ceased development on all versions except for Windows. Microsoft SourceSafe 3.1, Windows 16-bit-only and Macintosh, rebranded One Tree 3.0 versions, were briefly available before Microsoft released a Version 4.0. With the acquisition of One Tree Software, Microsoft discontinued its source code control product at the time, Microsoft Delta. After the acquisition, Mainsoft Corporation developed SourceSafe for UNIX in cooperation with Microsoft. Later, Metrowerks, Inc. developed Visual SourceSafe for Macintosh in cooperation with Microsoft.


Overview

SourceSafe was initially not a client/server
Source Code Management In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
, but rather a ''local'' only SCM system. 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 CVS may refer to: Organizations * CVS Health, a US pharmacy chain ** CVS Pharmacy ** CVS Caremark, a prescription benefit management subsidiary * Council for Voluntary Service, England * Cable Video Store, former US pay-per-view service * CVS F ...
has the same problem as it is built upon the original
RCS RCS may refer to: Organisations *Racing Club de Strasbourg Alsace * Radio Corporation of Singapore *Radcliffe Choral Society * Rawmarsh Community School *Red Crescent Society *Red Cross Society * Representation of Czechs and Slovaks, a football t ...
). SourceSafe inherits its ''shared'' functionality using direct remote file system access to all the files in the repository. This, together with historic bugs in the codebase, occasionally led to SourceSafe database corruption, a problem noted by Microsoft. Starting with VSS 2005, Microsoft added a client–server mode. In this mode, clients do not need
write access Most file systems include attributes of files and directories that control the ability of users to read, change, navigate, and execute the contents of the file system. In some cases, menu options or functions may be made visible or hidden depending ...
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.


Versions


Criticism

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 relied on Visual SourceSafe before the product was discontinued, and that the predominant tool at the time was SourceDepot. According to Matthew Doar: The Microsoft Developer Division was using Team Foundation Server for most of its internal projects, although a VSS transcript implied that other large teams use "a mix of customized in-house tools." Microsoft has since moved on to using Git.


Updates

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 Team System 2008. At the same time, Microsoft also introduced a source control called
Team Foundation Version Control Azure DevOps Server (formerly Team Foundation Server (TFS) and Visual Studio Team System (VSTS)) is a Microsoft product that provides version control (either with Team Foundation Version Control (TFVC) or Git), reporting, requirements managemen ...
(TFVC), which was part of project lifecycle management product Visual Studio Team System. This product addresses many of the shortcomings of Visual SourceSafe, making it suitable for larger teams requiring high levels of stability and control over activities. With
Visual Studio 2010 Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such a ...
, Microsoft no longer distributes Visual SourceSafe. Microsoft now offers Team Foundation Server Basic for smaller development teams. There is
hotfix
so existing SourceSafe customers can use SourceSafe with Visual 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.


Further reading

*''Visual SourceSafe 2005 Software Configuration Management in Practice'' (Packt Publishing, 2007) *''Real World Software Configuration Management'' (Apress, 2003) *''Essential SourceSafe'' (Hentzenwerke Publishing, 2001)


See also

* Revision control *
Configuration management Configuration management (CM) is a process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM proc ...
*
Software configuration management In software engineering, software configuration management (SCM or S/W CM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision ...
*
Change management Change management (sometimes abbreviated as CM) is a collective term for all approaches to prepare, support, and help individuals, teams, and organizations in making organizational change. It includes methods that redirect or redefine the use of ...
* List of software engineering topics *
Comparison of revision control software In software development, version control is a class of systems responsible for managing changes to computer programs or other collections of information such that revisions have a logical and consistent organization. The following tables includ ...


References


External links

* {{DEFAULTSORT:Microsoft Visual Sourcesafe Proprietary version control systems SourceSafe Discontinued version control systems