Переместить проект из TFS2005 в TFS 2008

Кто-нибудь знает, как экспортировать / переносить один проект с одного TFS-сервера на другой?

У меня на работе два TFS-сервера: старый (demo1), который начинался как демо-версия, а затем слишком активно использовался, и новый сервер: TFS1.

Все это было сделано до моего времени, и мне просто пришлось разобраться с проблемами.

Большинству проектов не нужна их история / информация о филиалах. Но один сделал. К сожалению, довольно давно было решено перенести все проекты (без истории, просто копию из файла), кроме этого одного большого проекта.

Это означает, что у TFS1 теперь есть своя история для множества небольших проектов, а demo1 используется исключительно для большого проекта.

Теперь мы хотим переместить этот проект и всю его историю (ветви менее важны, поскольку мы можем получить прямые копии кода выпуска)

Кто-нибудь знает, как экспортировать / переносить один проект с одного TFS-сервера на другой? Есть ли инструмент, который может сделать такие вещи?

2 ответа

Решение

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

В качестве альтернативы вы могли бы написать этот инструмент специального назначения относительно легко самостоятельно.

Что вам нужно сделать, это несколько миграций, все на основе наборов изменений для этого проекта. Основная логика будет:

  • Подключитесь к обоим серверам TFS
  • Получите самый старый код со старого сервера TFS.
  • Скопируйте его в рабочую папку, сопоставленную на новом сервере TFS
  • Регистрироваться.
  • LOOP:
    • Получить следующую ревизию
    • Перебирать файлы в наборе изменений
    • Ожидать Редактировать их в новой рабочей папке
    • Копировать изменения
    • Проверьте с теми же заметками, что и старая ревизия

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

Вам придется обрабатывать (или, в некоторых случаях, игнорировать) особые условия регистрации (например, добавляет, удаляет, переименовывает, разветвляет, объединяет), но это должно быть довольно легко сделать.

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

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