2016-01-14 3 views
2

В течение последних 24 часов я боролся со следующим.Миграция TFS 2013 в Git

Поскольку наша команда разработчиков использует TFS (текущая версия 2013) в течение некоторого времени, мы решили перенести все проекты на git.

Но, к сожалению, это не выглядит так просто. Прежде всего, я пытался с GIT TFS, но каждый раз, когда я пытаюсь клонировать коллекцию он говорит:

Access to path 'x' denied. 

Наоборот, перечисляя все ветви проходит гладко.

Из-за этого я пытался пройти путь, пытаясь преобразовать репозиторий TFS в репозиторий TFS Git, который позволит мне клонировать его и нажимать на наш ретранслятор BitBucket. К сожалению, я не могу найти, как преобразовать репозиторий TFS в репозиторий TFS Git - только нашел, как создать существующий.

Последнее, но не менее важное: я даже пытался с git tf - но каждый раз, когда я пытаюсь получить доступ к своим репозиториям, он говорит: «Java .... Main.class» не найден.

Любые советы и рекомендации по успешной миграции из TFS в Git?

Заранее благодарен!

ответ

1

TFVC и Git - это принципиально разные модели управления версиями (см. https://en.wikipedia.org/wiki/Version_control для получения дополнительной информации): это как перемещение ваших данных из файлов & Справочник по реляционной СУБД или сравнение электрического автомобиля с двигателем внутреннего сгорания.

Мое предложение возвращается к основам и четко излагает требования. :

  • Нужно ли перенести весь исходный код?
  • Нужно ли мне перенести историю?
  • Нужны ли мне все ветви?

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

  1. перейти к новой системе только исходные файлы, которые мне нужно, и избавиться от старого неиспользованного материал (назовет его очистку гаража)
  2. Отделить старую систему, чтобы быть только для чтения
  3. Возьмите снимок минимума ветвей и зафиксировать их в новую систему (никаких специальных инструментов, необходимых)
  4. не мигрирующих перед крупный релиз, выбрать момент благоразумно так команды есть время, чтобы изучить новые технологии и устранять проблемы
  5. Запуск с помощью новой системы и оставить старое в качестве ссылки

Пункт 2 может быть осуществлено путем удаления разрешений для всех кроме администраторов. Моя идея о шаге 3: клонирование пустого репо, получение последней из основной ветки в отдельном рабочем пространстве TFVC, синхронизация файлов с репозиторией Git (например, robocopy /MIR /XD .git), фиксация, нажим, создание и переключение Git на ветку X, получение последней ветки TFVC X , синхронизация и т. д. Повторите для всех ветвей, которые вы хотите перенести.

Рассмотрите также некоторые minor рефакторинг структуры базы кода и разделение на отдельные подэлементы Git или даже подмодули.

+0

Я полностью согласен с большинством предложений. В конце концов, я просто решил согласиться с этим решением, то есть выполнить миграцию базы кода, в то время как TFVC можно сохранить в качестве ссылки в случае, если какие-либо рабочие элементы должны быть проверены. Спасибо за совет – dsafa

4

К сожалению, я не могу найти, как преобразовать хранилище TFS в хранилище TFS Git

Просто потому, что нет никакого способа сделать это! Это очень сложная задача из-за особенностей git и TFVC, поэтому Microsoft даже не пыталась это сделать!

В каком-то смысле инструменты git-tfs и git-tf пытаются справиться с большими трудностями, в основном из-за того, как (ужасно!) TFVC управляет и хранит данные ветвей в своем репозитории.

Ваша единственная надежда в одном из этих двух инструментов. не

К сожалению, ГИТ-ТФ больше не поддерживается, так как 2-х лет и не поддерживают ветви :-(

мерзавец-ТПО пытаются сделать намного лучше, но некоторые модели ветвления по-прежнему вызывают большие проблемы :-( в этом крайнем случае, клон без поддержки филиала ваше последнее решение ...

Некоторые документ о том, как это сделать https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/working_with_no_branches.md#clone-just-the-trunk

Вы можете читать больше док на мерзавец-ТПО сайте GitHub.

Доступ к пути «х» отрицается.

Вы уверены, что это проблема не только с правами доступа? Потому что я никогда не слышал о такой проблеме ...

Ps: способ, которым Microsoft видит переход от TFVC к git, заключается в обновлении обновления tfs 2015 update 2 и создании репозитория git в тот же проект, что и существующий TFVC проект и скопируйте исходный код в репозиторий git. TFVC сохраняет историю ... При необходимости.

 Смежные вопросы

  • Нет связанных вопросов^_^