TFV C -> Git (и, в конечном итоге, к VSTS) - несколько проектов TFS объединены? - PullRequest
0 голосов
/ 15 апреля 2020

Мы собираемся перейти с внутренней TFS на VSTS, но прежде чем мы решим, что мы собираемся перенести существующий код с TFV C на Git. Но есть небольшое осложнение, о котором я хочу подумать ...

Теперь у нас есть несколько проектов TFS (назовем их "ProjectA", "ProjectB" и др. c). Думайте об этом как о нескольких взаимосвязанных продуктах, но теперь мы хотим создать единый проект «Suite» и объединить все вместе. Таким образом, новый проект будет "Suite", с папками внизу для "ProjectA", "ProjectB" и т. Д. c.

Все рабочие элементы находятся в еще одном проекте root, но мы ' Придется разобраться с этой ситуацией отдельно. Пока только код, только Main, и мы можем жить с относительно короткой историей (старые проекты TFV C будут доступны только для чтения для более старых поисков истории). Поскольку история насчитывает более десяти лет, а количество ветвей дерьмово, нам нужно провести разумную линию, и я думаю, что 180 дней - это много.

Мой вопрос и резюме: большинство различных В блогах / статьях, которые я читал, рассказывается о более типичном подходе, если создать новое репо в том же проекте TFS и перенести только этот проект. Мы хотим создать новое репо в новом проекте и перенести несколько других проектов в качестве подпапок, в результате чего получится одно (большое) репо. Любые предостережения, о которых я должен знать заранее?

Как только это будет сделано, мы рассмотрим перенос нового проекта на VSTS.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Как Дэниел упоминает, что создание моно-репо не является хорошей идеей, вы должны создать несколько git репозиториев, использовать компоненты (Nuget Artifacts) для инкапсуляции общих частей и использовать их из других проектов (в других репо). Гораздо проще перенести каждый проект в репозиторий git, используя метод, предложенный Стараном, затем вы можете клонировать их локально, сменить пульт на новый сервер (и отдельный проект) и просто добавить туда sh. Таким образом, вы можете создать несколько репозиториев для одного и того же целевого проекта, а также сохранить все подпроекты в своем репо и использовать общие компоненты на досуге. Затем вы можете также изменять свои компоненты независимо от подпроектов, что лучше. Это немного больше усилий, чтобы начать, но вы будете лучше в будущем.

0 голосов
/ 16 апреля 2020

Сервер Azure DevOps поддерживает импорт репозитория из TFV C в git с историей. Таким образом, вы можете создать новый командный проект и импортировать репозитории TFV C из других командных проектов в этот, а не в один репозиторий git, который будет представлять собой несколько репозиториев.

Импорт репозиториев из TFV C в Git

...