Теоретически, многое возможно, но на практике только несколько человек в мире, о которых я знаю, могут выполнить предложенную миграцию. Мартин Хиншелвуд и Дэвид Корбин, кажется, специализируются на подобных проблемах. У меня достаточно опыта, но я, кажется, всегда могу вывести меня из некоторых ваших ключевых требований, так как это большая работа, потенциально дорогая и почти никогда не возможная на 100%.
Если бы мне пришлось это сделать, я бы попытался отговорить вас от некоторых ваших требований. Я бы попытался убедить вас пойти по следующему пути:
- настроить клон вашего сервера TFS, чтобы несколько раз протестировать этот процесс.
- На вашем текущем TFS используйте такие инструменты, как witmorph , чтобы преобразовать шаблон CMMI в режим scrum на месте. Это уже довольно трудоемкая работа, поскольку не существует четкого индивидуального пути. И теперь, когда TFS допускает изменения типа рабочего элемента на месте, вам может потребоваться обновить его, чтобы воспользоваться этими функциями.
- Затем перейдите непосредственно к DevOps Azure, прежде чем даже коснуться источников.
- Обновите ваши комментарии для регистрации в TFVC, включив в них идентификаторы связанных рабочих элементов. Вы можете использовать скрипт, похожий на этот , чтобы перебирать все комментарии и обновлять их с помощью
#1234
идентификаторов рабочих элементов.
- Затем используйте « Import from TFVC », чтобы импортировать последние 6 месяцев из TFVC в Git.
- Держите старый репозиторий TFVC и делайте его доступным только для чтения.
Таким образом, вы сможете сохранить свою историю. Полноценная миграция не полностью возможна (TFVC просто не Git, и некоторые вещи не будут переведены). Вы получаете разумное количество истории в Git, если вы чувствуете, что это важно. Ваши рабочие элементы останутся связанными с TFVC, так как вы изменили их на месте, их идентификаторы не изменятся, и повторное связывание не требуется. Учитывая, что вы обновили описание регистрации, коммиты также должны автоматически связываться с вашими существующими рабочими элементами.
Другие вещи, такие как сборки, результаты тестов, выпуски, также будут перенастроены таким же образом, и вы окажетесь довольно близко к тому, как должно выглядеть ваше целевое решение.