Вопрос

Здесь мы работаем с множеством репозиториев Visual Source Safe уже около 10 лет или около того.

Теперь я хочу избавиться от sourcesafe и перейти на Team Foundation Server.

Есть ли у вас какие-либо советы или подсказки, прежде чем я приступлю к миграции?С какими вещами мне следует быть осторожным?

Я уверен, что эта миграция будет означать, что наши рабочие привычки придется каким-то образом изменить.Считаете ли вы, что эти изменения могут стать проблемой для организации?Представьте себе группу примерно из 20 разработчиков .NET на одном сайте.

Это было полезно?

Решение

Я просто погуглил, но это прохождение кажется хорошим справочником, и в нем упоминается инструмент VSSConverter, который должен помочь вам сделать миграцию максимально безболезненной.

Но я бы хотел порекомендовать одну вещь:Резервное копирование.Сделайте резервную копию всего, прежде чем сделать это.Если что-то пойдет не так, лучше перестраховаться.

Мои ссылки не отображаются.Это адрес: http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx

Другие советы

Есть несколько различных способов миграции.Инструмент извлечет вашу историю и т. д.закончено, но более прагматичный и простой способ — заблокировать VSS как архив истории и начать все сначала:

  1. Попросите всех проверить все изменения в VSS, убедиться, что все собрано и т. д.
  2. Установите для всех баз данных VSS статус «заблокировано» (права только для чтения для всех пользователей).
  3. Загрузите последние версии всей базы данных VSS в «чистый» набор папок на рабочей станции.
  4. Проверьте все файлы в TFS с рабочей станции.

Чтобы получить любую историю до преобразования, людям необходимо обратиться в VSS, но через неделю или две это вряд ли будет происходить так часто.И вы знаете, что история в VSS точна и не испорчена процессом конвертации.

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

Если вы решите использовать инструмент VSSConverter.exe, входящий в состав Visual Studio Team Foundation Server, вам следует установить ТФС 2008 SP1 во-первых, поскольку он включает в себя ряд улучшений, как подробно описано в этом блоге команды разработчиков инструментов миграции.

Некоторые из ключевых особенностей выпуска включают:

Устранение конфликтов пространства имен.Ранее я писал об этом как о «проблеме переименования», и мы исправили конвертер, чтобы правильно переносить файлы с перекрывающимися пространствами имен.Это была самая большая болезненная точка для большинства пользователей, пытающихся использовать предыдущие версии инструмента.

Автоматическая перепривязка решения. В этой последней версии файлы решений VS будут автоматически обновлены до версии 9.0 и зарегистрированы обратно на управление версиями.Ранее пользователи должны были сделать это вручную.

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

Улучшенное ведение журнала.Несмотря на то, что мы исправили много проблем, предоставление лучшего, более подробное ведение журнала поможет пользователям, которые сталкиваются с проблемами, диагностировать проблемы.

В настоящее время мы занимаемся этим на моей основной работе.Фактически мы осуществим переход примерно через месяц.Я — основная часть миграции и большая часть того, почему мы отказываемся от SourceSafe.Чтобы помочь в миграции, я использовал Visual Studio® Team System 2008 Team Foundation Server и образ Team Suite VPC.Это было очень полезно.Сразу же образ содержит полную рабочую установку TFS, с которой вы можете играть и демонстрировать ее.Он также включает практические занятия, и в одной из лабораторий используется инструмент миграции VSS -> TFS.Если у вас есть подписка MSDN, после того как вы поиграете с образом, следующим шагом будет установка редакции TFS Small Team, которая входит в вашу подписку.

Следует отметить, что в образе установлены последние пакеты обновлений для Visual Studio 2008 и .NET Framework.Пакеты обновлений исправили некоторые досадные ошибки и определенно повысили удобство использования системы.У нас довольно большая база данных SourceSafe, содержащая около 90+ проектов, и на создание инструмента миграции ушло около 32 часов.Сначала я сделал резервную копию нашей исходной базы данных для тестирования.Затем я выполнил миграцию тестовой базы данных с безопасным исходным кодом.После этого я проверил дерево исходного кода в TFS, и все прошло нормально.Мы сохранили всю историю наших исходных файлов из VSS, и это было здорово.Нет необходимости хранить эту вонючую базу данных VSS после запуска.

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

Мой совет — выполнять миграцию поэтапно.Не делайте слишком много за один раз.Дайте время людям, которые будут использовать систему, на обучение.

VSS Converter — далеко не идеальное решение.И между версией преобразователя 2005 и 2008SP1 есть существенные различия.

Например, в базе данных VSS, которая используется в течение длительного времени, большое количество пользователей вносят свой вклад в VSS.Многие из этих пользователей уже давно покинули организацию и поэтому больше не будут иметь учетных записей домена.TFS требует сопоставления пользователей VSS с учетными записями домена, поэтому вам придется решить, сопоставляете ли вы старых пользователей с одной «фиктивной» учетной записью домена или с текущим членом команды.

Кроме того, VSS Converter 2008 требует, чтобы эти учетные записи домена были действительными учетными записями TFS.В то время как конвертер 2005 года не обеспечивает этого.

Если ваша история VSS содержит значительные перемещения папок, то, скорее всего, вы потеряете всю историю до этого перемещения.Например, если вы переместите папку в новое место, а затем удалите предыдущую родительскую папку, вы потеряете всю историю.Дополнительную информацию смотрите в этой статье:http://msdn.microsoft.com/en-us/library/ms253166.aspx

В одной миграции, в которой я участвовал, у нас была база данных VSS 10-летней давности, вся история которой была потеряна до 6 месяцев назад.Это произошло из-за масштабной уборки, проведенной 6 месяцев назад.

Инструмент преобразования TFS <-- Используйте это

Я уже несколько раз использовал этот инструмент, результаты вполне удовлетворительные, поскольку, если хотите, он также содержит историю наборов изменений из SourceSafe.

В любом случае, используя этот инструмент, вы всегда должны обращать внимание на ошибки и предупреждения в журнале и проверять, все ли построено нормально/прошло нормально.

Перед запуском рекомендуется также выполнить анализ SS.

Надеюсь, поможет

Хорошее руководство от моего бывшего коллеги Гая Старбака.Еще одна вещь, которую можно добавить к этому подходу: возможно, со временем вы решили, что хотите провести рефакторинг способа организации вашего приложения (папки и т. д.), и это даст вам возможность сделать это.

Я сталкивался с ситуациями, когда мы организовывали решение бессистемно, не задумываясь (не говоря уже о серьезных изменениях в приложении), что приводило к желанию организовать все по-другому — и переход от VSS к TFS — отличная возможность сделать это.

Что касается исходного вопроса:

И:эта миграция наверняка будет означать, что наши рабочие привычки придется каким-то образом изменить.Считаете ли вы, что эти изменения могут стать проблемой для организации?Подумайте о группе примерно из 20 разработчиков .net на одном сайте.

Я бы сказал - да, ваши рабочие привычки изменятся, но гораздо больше в лучшую сторону.

  1. Вам не следует использовать блокировки «Оформление заказа» и «Получить последние новости при оформлении заказа».
  2. Теперь вы можете эффективно разветвлять и объединять
  3. Теперь у вас будут «Наборы изменений», все файлы, зарегистрированные одновременно, будут сгруппированы вместе.Это значительно упрощает отслеживание исторических изменений, но, что более важно, откат становится намного проще (т. е. найти все файлы, проверенные одновременно, и выполнить их откат).
  4. Связывание отметок с рабочими элементами.Не упускайте из виду рабочие элементы!Самая большая ошибка, которую вы можете совершить, — это использовать TFS только в качестве замены VSS.Функции управления сборкой и проектами превосходны — вы заплатили за них — ИСПОЛЬЗУЙТЕ ИХ!

Что касается подробностей о том, как изменится ваш опыт, другой мой бывший коллега (и MVP Team System) Стив Ст.Жан написал подробную статью о различиях: От VSS к TFS

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top