TFVC и последствия конвертации веток в папки

Настроить:

У меня есть клиент с репозиторием контроля версий TFVC. Корень - это папка, а не ветка. По всей иерархии разбросаны ветви, иногда 2, а иногда и 3 уровня. Чтобы использовать git-tfs для переноса хранилища, мне нужно, чтобы корень был веткой. Однако, когда я пытаюсь преобразовать корневую папку в ветку, я получаю эту ошибку:

You cannot create a branch at $/myProject because a branch already exists at $/myProject/Releases/7.3/Metadata. 
If $/myProject/Releases/7.3/Metadata is not a branch convert it back to a folder and retry the operation.

Вопрос:

Имеет ли какое-либо влияние на то, что я "разветвляю" некоторые из этих веток, превращаю их в обычные папки, чтобы я мог сделать корень веткой и затем использовать git-tfs для его миграции? Могу ли я потерять часть истории? Буду ли я рисковать испортить хранилище контроля версий или потерять какие-либо данные? Я стараюсь быть очень осторожным с исходным кодом клиента и не рисковать потерей каких-либо данных.

Спасибо!

Обновить:

Мое оправдание для размышления: мне нужно преобразовать корень в ветку: * Когда был создан простой тестовый репозиторий, чтобы попробовать миграцию, и запустили эту команду

git tfs list-remote-branches https://mysite.visualstudio.com/

Я получил это сообщение

"Ветви TFS не найдены!"

И в этом вопросе github было сказано, что я должен перейти на ветку, тогда я увижу это, и это сработало. Поэтому я предположил, что клон не будет работать, так как он не появился в списке. Кроме того, с таким же структурированным репозиторием, когда я запускал git tfs list-remote-branch, я получил:

Ветви TFS, которые могут быть клонированы:

$ / myproject1 / Releases / 7.1 / Метаданные [*]

$ / myproject1 / Releases / 7.2 / Метаданные [*]

$ / myproject1 / Releases / 7.3 / Метаданные [*]

$ / myproject1 / Trunk / Main [*]

Рекомендуется клонировать корневые ветви (отмеченные [*])!

PS: если ваша ветка не указана здесь, возможно, вам следует преобразовать содержащую ее папку в ветку в TFS: -> Открыть 'Source Control Explorer' и для каждой папки, соответствующей ветке, щелкните правой кнопкой мыши по папке и выберите 'Ветвление и Слияние ' > ' Преобразовать в ветку '.

Исходя из этого, я подумал, что должен преобразовать его в ветку. Следующая команда, которую я выполнил, была

git-tfs clone https://mysite.visualstudio.com/ $/myproject1

Я думал, что это дало мне ошибку, когда корень был папкой, но это просто дало мне предупреждение, когда я перезапустил его только сейчас. Структура папок была примерно такой: папка / папка / папка филиала / папка / папка / ветка / папка и т. Д.

предупреждение: вы собираетесь клонировать весь репозиторий или слишком высоко на пути к репозиторию! => Если вы хотите управлять ветками с помощью git-tfs, вместо этого клонируйте одну из этих веток: - $/myproject1/Releases/7.1/ Метаданные - $/myproject1/Releases/7.2/ Метаданные

Похоже, что ответы верны. Вы можете клонировать без рута без проблем. Спасибо!

1 ответ

Не конвертируйте свою ветку в папку.

Что следующая команда говорит вам клонировать?

    git tfs list-remote-branches http://tfs:8080/tfs

Документ на эту тему: https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/manage_tfs_branches.md#find-the-tfs-branch-to-clone-optional

Редактировать: git-tfs может клонировать все папки в коллекции TFVC, но если вы хотите клонировать историю с ветвями, каждая папка должна быть преобразована как ветвь.

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