Сохранять историю перемещенных папок TFS в git-tfs

Я собираюсь перенести свой проект (папку) с TFS на git с помощью git-tfs. Проблема в том, что папка когда-то была перемещена в TFS из одного места в другое. История TFS для папки показывает все наборы изменений с самого начала, но git-tfs clone клонирует только те наборы изменений, которые произошли после перемещения.

Можно ли также клонировать старые наборы изменений? Желательно вместе с новыми наборами изменений, но, по крайней мере, в другой репозиторий git?

Обновление Я пробовал некоторые идеи, но все они потерпели неудачу:

  1. Можно клонировать из старой папки. Но в текущем наборе изменений нет этого места.
  2. Можно было клонировать из последнего набора изменений, когда присутствовало более старое местоположение. Но у git tfs clone нет возможности использовать определенный набор изменений, есть только у quick-clone.
  3. Можно было бы quick-clone первый набор изменений в старом месте (это работает), а затем fetch изменения. Но fetch завершается с ошибкой "Не существует подходящего сопоставления для...". Я пытался добавить старые и новые пульты tfs в одно и то же репо, но это не помогло.

person Steed    schedule 20.03.2014    source источник


Ответы (2)


Существует работа в процессе, которая уже работает достаточно хорошо и поддерживает этот случай.

Просто скомпилируйте его сами и попробуйте!

person Philippe    schedule 20.03.2014
comment
Пробовал текущее состояние rename_branch, но результат был полностью испорчен. Опубликовал комментарий к пулл-реквесту с подробностями. - person Steed; 20.03.2014
comment
Обсуждение на GitHub почему-то закончилось безрезультатно. Не могли бы вы оценить шансы, что это будет решено, или сказать мне, что нужно сделать? - person Steed; 28.03.2014
comment
Если я хорошо понимаю вашу проблему, это еще один ужасный случай, который разрешает TFS. С этим будет трудно справиться, потому что TFS дает нам плохую иерархию ветвей, которая не позволяет нам ее обнаружить :( Я вижу 2 решения... В долгосрочной перспективе позвольте пользователю указать свою собственную иерархию ветвей в файле и принять этот файл на вход и игнорировать данные, которые дает нам tfs.В краткосрочной перспективе вы должны изменить исходный код, чтобы управлять своим делом, с описанием вашей иерархии внутри исходного кода git-tfs (кто-то уже сделал это), чтобы переопределить данные, полученные из tfs... - person Philippe; 06.04.2014
comment
Спасибо. Я внезапно попробовал git-tf, и это сработало. Я не знаю, что они сделали, чтобы справиться с этим делом. - person Steed; 06.04.2014

В конце концов я попробовал git-tf вместо git-tfs, и это неожиданно сработало, так что проблема миграции была решена.

person Steed    schedule 06.04.2014