Инкрементная миграция из 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>