Visual Source Safe -> Миграция TFS

Где-то здесь мы работали с кучей хранилищ Visual Source Safe около 10 лет или около того.

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

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

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

8 ответов

Решение

Я только что погуглил, но это пошаговое руководство кажется хорошим справочником, и в нем упоминается инструмент 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, то вам следует сначала установить TFS 2008 с пакетом обновления 1 ( SP1), так как оно включает ряд улучшений, подробно описанных в этом блоге группой инструментов миграции.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам