Git-TF помещает все изменения в другой репозиторий TFS
Я клонировал TFS
репо в мой местный Git
а потом попытался изменить TFS
удаленный в другой репозиторий для передачи ему всех наборов изменений с помощью следующих команд:
git tf --force configure http://tfs2012:8080/tfs/DefaultCollection $/ProjectName
git tf checkin
После этого получил следующую ошибку:
git-tf: TF14019: The changeset 31129 does not exist
В чем дело?
PS: старый репозиторий имеет версию 2010, а новый - 2012. Новый репозиторий пуст
1 ответ
Я был бы упущен, если бы не упомянул, что git-tf не предназначался для замены надлежащего инструмента миграции и интеграции.
Тем не менее, если вы хотите попробовать, вы не можете просто git tf clone
хранилище, а затем git tf checkin
на другой сервер. git-tf
maps фиксирует изменения, чтобы обеспечить согласованность в репозиториях git и TFS. Таким образом, когда вы меняете пульт, он ищет эти наборы изменений на новом сервере.
Если вы действительно хотите перенести это на новый сервер, вам нужно удалить набор изменений, чтобы зафиксировать карту.
Самый простой и надежный способ сделать это - не вмешиваясь в данные конфигурации - это просто клонировать репозиторий git и настроить клонированный репозиторий на новом сервере. Тогда ты можешь git tf checkin
к нему:
$ git clone ~/path/to/repo ~/path/to/cloned_repo
Cloning into cloned_repo...
done.
$ cd ~/path/to/cloned_repo
$ git-tf configure https://youraccount.visualstudio.com/DefaultCollection $/YourProject
Configuring repository
$ git-tf checkin
Connecting to TFS...
Checking in to $/YourProject: 100%, done.
поскольку git-tf
сопоставляет только один репозиторий TFS, это также позволяет вам делать пошаговые перемещения. Если после первоначальной миграции появятся новые наборы изменений, которые вы хотите перенести, вы можете перетащить их в клонированный репозиторий git, а затем перенести их на новый сервер TFS без повторной настройки.
$ cd ~/path/to/cloned_repo
$ git pull ~/path/to/repo
$ git-tf checkin
Connecting to TFS...
Checking in to $/YourProject: 100%, done.