2015-11-04 1 views
1

Я использую git-tfs для клонирования моих проектов TFS и загрузки их в git repos в Visual Studio Online. Большинство проектов успешно клонированы и готовы к работе, но некоторые из них останавливаются на очень старых наборах изменений и завершают работу, как будто они работают правильно. В большинстве случаев не выдается сообщений об ошибках, но выдается несколько ошибок, подобных «Идентификатор изменений ### - операция слияния, но родительский элемент не найден». Почему git-tfs случайным образом останавливает клонирование изменений на очень старых наборах изменений, когда не возникает ошибка?git-tfs не клонирует все изменения

Запуск git tfs clone с -d показывает все выходные данные отладки, и в самом конце показывает GC Countdown: 84, то он переходит в нормальный режим очистки (git gc) для конца клона. Мне кажется, что он признает, что совершается больше коммитов, но по какой-то причине он их не собирает. Пробовал работать с --resumable --ignore-branches также, такой же проблема.

ответ

2

Ошибка обычно возникает, когда набор изменений является операцией слияния, и ветвь источника этого слияния постоянно удаляется из TFS. См. Эту ссылку для получения дополнительной информации: https://github.com/git-tfs/git-tfs/pull/628

GC Countdown: 84 не означает, что есть фиксации слева. Когда вы запустите команду git-tfs, в ней будет указан идентификатор клонированных наборов изменений. Вы можете проверить историю исходного проекта в Source Control Explorer или с помощью команды tf history, а затем сравнить с идентификаторами, указанными git-tfs, чтобы проверить, были ли клонированы все изменения.

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

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