Введение

ПО для управления исходным кодом Microsoft Visual SourceSafe (VSS) — это устаревшая программа для управления исходным кодом, предназначенная для небольших проектов разработки программного обеспечения. Как и большинство систем контроля версий, SourceSafe создает виртуальное хранилище компьютерных файлов. Хотя чаще всего SourceSafe использовался для исходного кода, он может работать с файлами любого типа в своей базе данных, однако было установлено, что более ранние версии были нестабильны при хранении больших объемов нетекстовых данных, таких как изображения и скомпилированные исполняемые файлы.

История

SourceSafe был первоначально создан компанией One Tree Software из Северной Каролины. One Tree SourceSafe пережил несколько релизов в циклах 1.x и 2.x, поддерживая DOS, OS/2 (с графическим интерфейсом Presentation Manager), Windows, Windows NT, Mac и Unix. Когда Microsoft приобрела OneTree в 1994 году, она немедленно прекратила разработку всех версий, кроме Windows. Microsoft SourceSafe 3.1, предназначенный только для Windows 16 бит и Macintosh, представлял собой переименованные версии One Tree 3.0 и был доступен недолго, прежде чем Microsoft выпустила версию 4.0. С приобретением One Tree Software Microsoft прекратила поддержку своего продукта управления исходным кодом Microsoft Delta. После приобретения Mainsoft Corporation разработала SourceSafe для UNIX совместно с Microsoft. Позже Metrowerks, Inc. разработала Visual SourceSafe для Macintosh также в сотрудничестве с Microsoft.

Обзор

SourceSafe изначально не был клиент-серверной системой управления исходным кодом, а скорее локальной системой SCM. С архитектурной точки зрения, это одновременно является и достоинством, и недостатком, в зависимости от среды использования. Это позволяет настроить систему для одного пользователя с меньшими требованиями к конфигурации, чем у некоторых других SCM-систем. Кроме того, процесс резервного копирования может быть таким же простым, как копирование всего содержимого дерева каталогов. Однако, в многопользовательских средах ему не хватает многих важных функций, присутствующих в других SCM-продуктах, включая поддержку атомарной фиксации нескольких файлов (CVS имеет ту же проблему, поскольку основан на оригинальном RCS). SourceSafe реализует совместную работу через прямой удаленный доступ к файловой системе ко всем файлам в репозитории. Это, в сочетании с историческими ошибками в кодовой базе, иногда приводило к повреждению базы данных SourceSafe – проблема, отмеченная Microsoft. Начиная с VSS 2005, Microsoft добавила клиент-серверный режим. В этом режиме клиентам не требуется права записи в SMB-шару, где они потенциально могли бы повредить базу данных SS. Вместо этого доступ к файлам должен осуществляться через клиентские инструменты VSS: клиент VSS для Windows, утилиту командной строки VSS или приложение, интегрированное с этими инструментами или эмулирующее их.

Версии

Версия Дата 3.1 14 февраля 1995 5.0 7 октября 1996 6.0 3 июня 1998 6.0c (Сборка 9350) 2001 2005 27 января 2006

Критика

Стабильность Visual SourceSafe критикуется из-за используемого им прямого файлового доступа, позволяющего любому клиенту изменять файл в репозитории после блокировки. Сбой клиентской машины во время обновления файла может привести к его повреждению. Многие пользователи Visual SourceSafe снижают этот риск, используя утилиту, поставляемую с Visual SourceSafe, которая проверяет базу данных на предмет повреждений и, при возможности, исправляет найденные ошибки.

Внутреннее использование Microsoft

Хотя часто говорят, что принцип "есть свою собственную собачью еду" является частью корпоративной культуры Microsoft, VSS, по всей видимости, является исключением. Широко распространено мнение, что до прекращения поддержки продукта очень мало проектов в Microsoft использовали Visual SourceSafe, а основным инструментом в то время был SourceDepot. По словам Мэтью Доара:
сама Microsoft использовала внутреннюю разработку RCS под названием SLM до 1999 года, когда начала использовать версию Perforce под названием SourceDepot. Подразделение разработчиков Microsoft использовало Team Foundation Server для большинства своих внутренних проектов, хотя из стенограммы VSS следует, что другие крупные команды использовали "смесь собственных настроенных инструментов". С тех пор Microsoft перешла на использование Git.

Обновления

Обновленная версия под названием Visual SourceSafe 2005 была выпущена в ноябре 2005 года, обещая улучшенную производительность и стабильность, более качественное слияние файлов Unicode и XML, а также возможность извлечения файлов по протоколу HTTP. Она входила в состав редакций Visual Studio 2005 Team System, но не была включена в Visual Studio Team System 2008. Одновременно с этим Microsoft представила систему контроля версий Team Foundation Version Control (TFVC), которая являлась частью продукта управления жизненным циклом проекта Visual Studio Team System. Этот продукт устранил многие недостатки Visual SourceSafe, что сделало его подходящим для больших команд, которым требуется высокий уровень стабильности и контроля над операциями. С Visual Studio 2010 Microsoft прекратила распространение Visual SourceSafe. Microsoft теперь предлагает Team Foundation Server Basic для небольших команд разработчиков. Существует исправление, позволяющее существующим пользователям SourceSafe продолжать использовать SourceSafe с Visual Studio 2010. Поддержка финальной версии продукта, Visual SourceSafe 2005, была прекращена 10 июля 2012 года, а расширенная поддержка – 11 июля 2017 года.