Поделиться через


Миграция с Visual SourceSafe

Обновлен: Ноябрь 2007

Visual SourceSafe является инструментом системы управления версиями для профессиональных разработчиков программного обеспечения. Дополнительные сведения о Visual SourceSafe см. в разделе Система управления версиями для Visual Studio. Team Foundation является клиент-серверной системой управления версиями, использующей веб-службу .NET для доступа к элементам в базе данных сервера SQL Server. Архитектура системы управления версиями Team Foundation обеспечивает повышенную производительность и надежность.

Преобразователь Visual SourceSafe для Team Foundation переносит файлы, папки, историю версий, метки и пользовательскую информацию из базы данных Visual SourceSafe в Team Foundation (подсистема контроля версий). Перед перемещением файлов и информации об истории в Team Foundation следует проанализировать резервную копию базы данных Visual SourceSafe, вернуть в хранилище как можно больше файлов и изучить, какую информацию нельзя перенести из Visual SourceSafe в Team Foundation.

Отличия между Team Foundation и Visual SourceSafe

Visual SourceSafe и Team Foundation (подсистема контроля версий) позволяют решать одни и те же основные задачи:

  • Одновременная разработка нескольких версий одного продукта

  • Вводить изменения в выпущенную версию продукта не затрагивая другие версии

  • Быстро извлекать пакет связанных файлов

  • Определять кем и когда было произведено изменение

  • Сравнивать версии файла

  • Осуществлять переход с одной версии на другую

Интерфейсы клиента Team Foundation (подсистема контроля версий) были разработаны, чтобы быть знакомы пользователям Visual SourceSafe. Оба продукта предоставляют клиент командной строки и средства интеграции с Microsoft Visual Studio Team System. Team Foundation (подсистема контроля версий) не предоставляет отдельного пользовательского интерфейса, подобного интерфейсу Visual SourceSafe.

Несмотря на множество схожих черт, Team Foundation и Visual SourceSafe в корне разнятся. Эта тема разделяется на две раздела, которые описывают эти отличия:

В разделе Различия в архитектуре описываются технологические и операционные различия между Team Foundation и Visual SourceSafe.

В разделе Функциональные различия приведен список свойств, которые присутствуют в одной продукте, но отсутствуют в другом, описываются незначительные изменения, параметры по умолчанию, зависящие от продукта, а также описывается, как эти изменения могут повысить производительность команды при использовании Team Foundation.

Различия в архитектуре

SourceSafe Explorer и подключаемый модуль для Visual Studio читают с и записывают в базу данных Visual SourceSafe, представляющую собой коллекцию файлов, хранящихся обычно в общей сетевой папке.

Безопасность и права проекта

Права пользователя Visual SourceSafe и Присваивания, которые задаются в программе администрирования Visual SourceSafe являются независимыми от Windows и делят разрешения для папки базы данных Visual SourceSafe. Возможно указание прав и присваиваний для определенных проектов Visual SourceSafe или отдельных пользователей Visual SourceSafe, но все пользователи Visual SourceSafe должны иметь одинаковые разрешения для базы данных Visual SourceSafe. Таким образом, все пользователи Visual SourceSafe, независимо от прав уровня проекта, указанных при помощи программы администрирования Visual SourceSafe, имеют доступ к общим папкам и имеют контроль над всеми данными Visual SourceSafe.

В Team Foundation, оперативные пользовательские разрешения и права доступа уровня проекта привязаны к учетным записям пользователей Windows. Авторизация пользователей производится посредством сервера информации интернет. Отдельный доступ к базам данных сервера SQL не обязательно предоставлять отдельным пользователям, которые выполняют операции системы управления версиями. Как следствие, инфраструктура безопасности Team Foundation является надежной, безопасной и легкой в управлении.

Надежность

Поскольку в Visual SourceSafe отсутствует серверный компонент, операции с передачей данных с клиента в базу данных являются не транзакционными. Это означает, что операцию невозможно отменить в случае ошибки. В редких случаях, когда во время операции записи происходит неполадка, как например, потеря сетевой связи, целостность задействованных файлов может быть нарушена, а информация утеряна.

Team Foundation является клиент-серверным приложением, в котором операции записи производятся в базе данных посредством хранимых процедур, которые неподвержены неполадкам связи в сети. Помимо этого, определенные операции производятся с использованием трансакций, и могут быть отменены в случае возникновения ошибки. Эта архитектура обеспечивает сохранность исходных файлов и защищает их от возможных повреждений. Она также обеспечивает вовлеченность всех файлов, содержащих зависимые изменения, в серверную программу управления версиями, в качестве хорошо проверенного набора изменений.

Масштабируемость

Team Foundation поддерживает команды до 2000 пользователей, между тем, как Visual SourceSafe рекомендован для команд до 20 пользователей. Серверы Team Foundation могут содержать столько данных, сколько позволяет сервер базы данных SQL (терабайты) и аппаратное обеспечение, в то время, как рекомендуемый максимальный размер базы данных Visual SourceSafe составляет 4 Гб.

Функциональные различия

Наборы изменений

Внутренняя структура базы данных Visual SourceSafe и сервера службы управления версиями Team Foundation схожи. Как базы данных так и сервер организованы иерархично. Папки содержат файлы. Файлы состоят из версий, которые идентифицируются номером и датой/временем создания.

Team Foundation впервые вводит понятие набора изменений. Это понятие отсутствует в Visual SourceSafe. Набор изменений представляет собой логический контейнер, в котором Team Foundation хранит всю информацию, относящуюся к операции возвращения, например, проверка файла и папки, ссылки на связанные рабочие элементы, примечания при возврате, комментарий возвращения, а также прочую информацию, например, кто произвел изменение. Дополнительные сведения см. в разделе Работа с наборами изменений системы управления версиями.

Совместное использование и закрепление

Team Foundation не имеет команд, схожих с командами "Share" и "Pin" в Visual SourceSafe. При переносе проектов Visual SourceSafe на Team Foundation, все "Pins" в базе данных Visual SourceSafe заменяются метками.

Разница в хранении журналов в Team Foundation

Visual SourceSafe и Team Foundation хранятся журналы следующих действий по-разному.

  • Создать и добавить   В Visual SourceSafe, создание файла или папки приводит к созданию версии родительского элемента и файла. В журнале родительского элемента, действие записывается как "add"; в журнале файла, оно именуется как "create." В Team Foundation, добавление файла или папки просто создает версию файла или папки с действием "add". В данном действии не создается версии родительского элемента.

  • Переименовать, Удалить, и Отменить удаление   В Visual SourceSafe, эти действия приводят к созданию новой версии родительского элемента. Однако, в Team Foundation, они также приводят к созданию новой версии самого элемента.

  • Переместить   В Visual SourceSafe, при перемещении папки, создаются новые версии исходной папки и целевой, с действиями, которые вносятся в каждый родительский элемент, перемещающий папку. Для папки "F" версии не создаются. Например, при перемещении папки "F" с исходного "S" на целевой "D", создается новая версия "D" с действием "Move $F from S", также создается новая версия "S" с действием "Moved $F To D". В Team Foundation, создается только новая версия "F" с действием "Rename".

Различие в извлечении и возвращении

В Visual SourceSafe, при правке файла следует осуществлять явные извлечение и возвращение. В Team Foundation, каждое действие требует явного извлечения и возвращения.

Свойства, функционирующие по-разному на Team Foundation

По умолчанию, Team Foundation не производит тихую операцию Get при извлечении файла.

В Team Foundation, многочисленные пользователи могут извлекать и изменять один и тот же элемент одновременно. В Visual SourceSafe, многочисленные извлечения запрещены по умолчанию. Однако, файл можно заблокировать в Team Foundation для предотвращения внесения в него пользователями изменений при извлечении или возврате. Дополнительные сведения см. в разделе Основные сведения о типах блокировки.

Ветвление и слияние   Visual SourceSafe имеет очень основную поддержку ветвления и слияния, поскольку Visual SourceSafe не хранит журнал слияний между двумя ветвлениями файлов или папок. Однако, Team Foundation (подсистема контроля версий) имеет поддержку журнала слияний. Без поддержки слияний возможны только беспочвенные слияния в Visual SourceSafe.

Получить последний по извлечению

При извлечении файла в Visual SourceSafe, Visual SourceSafe извлекает последнюю версию файла из системы управления версиями. Настройку поведения извлечения в Team Foundation (подсистема контроля версий) можно произвести двумя способами. Если необходимо, чтобы поведение извлечения повторяло Visual SourceSafe, следует настроить параметры извлечения на получение последней версии элементов при их извлечении. Дополнительные сведения см. в разделе Практическое руководство. Настройка параметров извлечения.

Также поведение извлечения можно настроить таким образом, чтобы локальная копия файла отмечалась как извлеченная, без получения последней версии с сервера. Это поведение полезно при произведении операции получения для извлечения набора файлов. Обычно, настройка исходный файлов на компьютере представляет собой моментальный снимок определенных файлов, которые работают вместе из Team Foundation (подсистема контроля версий). Таким образом, они могут быть построены и тестированы вместе.

Разработчик, работающий в рабочей области изолирован от изменений, произведенных другими пользователями. Он решает, стоит ли принимать изменения от других разработчиков, выполняя операцию получения, соответственно. В идеале, при этой операции обновляются все источники, а не просто несколько файлов. Причиной этому является то, что изменения в одном файле обычно зависят от соответствующих изменений в других файлах. Поведение извлечения обеспечивает постоянную наивность целостного моментального снимка источника, который может быть построен и тестирован.

При возвращении изменений, Team Foundation производит слияние изменений с другими изменениями, проделанными в версии на сервере. При возникновении конфликтов будет отображено диалоговое окно с существующими конфликтами.

Свойства Team Foundation, отсутствующие в Visual SourceSafe

Свойства Visual SourceSafe, отсутствующие в Team Foundation

  • Совместное использование

  • "Pin"

  • Архивация и восстановление

  • Расширение ключевого слова

Дополнительные сведения см. в следующих разделах:

См. также

Задачи

Пошаговое руководство. Подготовка к миграции с Visual SourceSafe на Team Foundation

Пошаговое руководство: миграция с Visual SourceSafe в Team Foundation