Инкрементная миграция из SVN в Git

Рассмотрим мой сценарий ниже:

Предположим, что мой репозиторий svn содержит 100 ревизий, которые были перенесены в репозиторий Git (так что мой Git содержит 100 ревизий).

Теперь мой репозиторий svn обновлен, скажем, еще 5 версий, поэтому он имеет 105 ревизий. Как перенести только ревизии 101 t0 105 в мой репозиторий Git?

Основные проблемы, которые у меня есть:

  • Я не хочу синхронизировать SVN и Git. (SVN скоро будет отключен)
  • Мне нужно перенести изменения со своей историей.

Я пробовал следить за этими ссылками, которые не помогают мне, (fyi)

Ответ 1

Используйте git -svn. Когда вы выполняете начальный клон git svn clone ..., вы получите первые 100 ревизий. Позже вы сделаете git svn fetch, который выберет недавно появившиеся 5 версий.

Все 105 ревизий будут присутствовать в правильном порядке, поэтому история будет сохранена.

Обновление:

Если вы хотите избежать первых 100 ревизий, выполните git svn init с изначальной выборкой:

git svn init ...
git svn fetch -r <svn revision you want to start from>