SourceSafe was initially not a client/server
source control system, but rather a
local only 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 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 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, or some application that integrates with or emulates these client tools.
Versions ==Criticism==