Перенести проект с TFS2005 на TFS 2008

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

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

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

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

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

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

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


person Amjid Qureshi    schedule 02.12.2010    source источник


Ответы (2)


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

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

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

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

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

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

person Robaticus    schedule 02.12.2010
comment
В итоге я использовал интеграцию с TFS, получил исходный код и взломал его, чтобы решить множество возникших проблем. Получил в итоге, заняло всего 3 недели!! - person Amjid Qureshi; 11.07.2011

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

person Marcie    schedule 02.12.2010