HOME

TheInfoList



OR:

Microsoft Visual SourceSafe (VSS) is a discontinued
source control Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code ...
program Program (American English; also Commonwealth English in terms of computer programming and related activities) or programme (Commonwealth English in all other meanings), programmer, or programming may refer to: Business and management * Program m ...
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 In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
, SourceSafe can handle any type of file in its
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
, 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 DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
,
OS/2 OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
(with a
Presentation Manager Presentation Manager (PM) is the graphical user interface (GUI) that International Business Machines, IBM and Microsoft introduced in version 1.1 of their operating system OS/2 in late 1988. History Microsoft began developing a graphic user inter ...
GUI Gui or GUI may refer to: People Surname * Gui (surname), an ancient Chinese surname, ''xing'' * Bernard Gui (1261 or 1262–1331), inquisitor of the Dominican Order * Luigi Gui (1914–2010), Italian politician * Gui Minhai (born 1964), Ch ...
), 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 Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code ...
, 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 Multi-user software is computer software that allows access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leavi ...
environments, however, it lacks many important features found in other SCM products, including support for
atomic commit In the field of computer science, an atomic Commit (data management), commit is an operation that applies a set of distinct changes as a single operation. If the changes are applied, then the atomic commit is said to have succeeded. If there is a f ...
s of multiple files ( CVS has the same problem as it is built upon the original
RCS RCS may refer to: Organizations Arts and entertainment * Radio Corporation of Singapore * Radcliffe Choral Society, a choral ensemble at Harvard University *RCS MediaGroup (Rizzoli-Corriere della Sera), an Italian publishing group *Royal Conserva ...
). 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 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 A console application or command-line program is a computer program (applications or utilities) designed to be used via a text-only user interface. A console application can be used with a computer terminal, a system console, or a terminal emu ...
, 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 In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
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 Azure DevOps Server, formerly known as 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 ...
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 Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
.


Updates

An updated version called Visual SourceSafe 2005 was released in November 2005, promising improved performance and stability, better merging for
Unicode Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
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 Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
also introduced a source control called
Team Foundation Version Control Azure DevOps Server, formerly known as 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, requirement ...
(TFVC), which was part of project lifecycle management product
Visual Studio Team System Azure DevOps Server, formerly known as 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 ma ...
. 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) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms ...
, Microsoft no longer distributes Visual SourceSafe. Microsoft now offers Team Foundation Server Basic for smaller development teams. There was a hotfix so existing customers could 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 Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code ...
*
Configuration management Configuration management (CM) is a management 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. ...
*
Software configuration management Software configuration management (SCM), a.k.a. software change and configuration management (SCCM), is the software engineering practice of tracking and controlling changes to a software system; part of the larger cross-disciplinary field of ...
*
Change management Change management (CM) is a discipline that focuses on managing changes within an organization. Change management involves implementing approaches to prepare and support individuals, teams, and leaders in making organizational change. Change mana ...
*
List of software engineering topics The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of softwar ...
*
Comparison of revision control software The following tables describe attributes of notable version control and software configuration management (SCM) systems that can be used to compare and contrast the various systems. For SCM software not suitable for source code, see Comparison ...


References


External links

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