Невозможно перенести TFV C в GIT из другой коллекции проекта. - PullRequest
0 голосов
/ 09 января 2020

В Azure DevOps Server 2019 (в помещении) у нас есть одна коллекция проектов с одним БОЛЬШИМ проектом. Но производительность действительно плохая.

Мы хотим разделить этот БОЛЬШОЙ проект на множество маленьких проектов:

  • Одна коллекция проектов командой
  • Один проект по продукту

У меня есть дублированная среда для тестирования. В той же организации я создал коллекцию проекта 'Product1' с Git. В Azure DevOps с помощью инструмента Import from TFVC я выбираю TFV C, ввожу в Путь $/BigProject/Team1/Product1/Main и сниму флажок Мигрировать с историей. Я получаю эту ошибку:

There is no item in the given path which can be imported

VSTS перенаправляет меня на https://go.microsoft.com/fwlink/?linkid=839462, но нет описания этой ошибки, это общее руководство по импорту.

I Думаю, мне нужна точная коллекция в пути. Затем я пытаюсь:

Collection/BigProject/Team1/Product1/Main
$Collection/BigProject/Team1/Product1/Main
/Collection/BigProject/Team1/Product1/Main

Но у меня та же ошибка.

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

Как я могу импортировать в проект Git проект TFV C в другую коллекцию с помощью инструмента Import from TFVC?

Ответы [ 2 ]

1 голос
/ 10 января 2020

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

Итак, хитрость здесь:

  • Используйте функцию импорта для импорта данных из TFV C в git репо в исходном проекте.

    enter image description here

  • Возьмите URL клона из исходного проекта enter image description here

    enter image description here

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

    enter image description here

Это будет работать просто отлично. Репо git будет клонировано со всеми подробностями и историей. Переносимость Git делает этот процесс беспроблемным. Он работает с одного сервера TFS на другой, а также с любого другого Git поставщика или Azure DevOps Services.

Уведомление

Хотя разделение вашей коллекции на несколько коллекций сделает ваш экземпляр TFS более управляемым, оно создаст некоторые ограничения, если вы захотите перейти на Azure DevOps в облаке позже. Каждая коллекция превратится в отдельный аккаунт при импорте. Так что, если вы хотите иметь одну учетную запись в будущем, рекомендуется оставаться в одной Коллекции проектов. Azure Сервис DevOps не имеет концепции коллекции.

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

1 голос
/ 10 января 2020

Вы можете переносить код только из существующего репозитория TFV C в новый репозиторий Git в пределах той же организации / коллекции.

Если вы хотите использовать инструмент импорта TFV C, вы можете рассмотреть возможность разделения одной коллекции проектов на несколько коллекций проектов. Например, вы можете разделить коллекцию, содержащую только BigProject, а затем перейти на Git в той же коллекции.

https://docs.microsoft.com/en-us/azure/devops/server/admin/split-team-project-collection?view=azure-devops

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...