Я пытаюсь преобразовать репозиторий SVN в несколько репозиториев git. До сих пор я использовал git svn clone svn_repo_project_path
для каждого проекта в SVN. Я заметил, что git, похоже, не следует за операциями копирования svn, поэтому полученная история намного короче, чем я ожидаю.Предположим, мой репозиторий SVN выглядел так:
root
Проекты b
и c
были недавно скопированы в parent-proj
в рамках усилий по реструктуризации с целью в конечном итоге удалив их из своих старых мест под root. Когда я делаю git svn clone http://svnhost/parent-proj
, в результирующем репозитории git отсутствует вся история, возникшая из /b
и /c
. ] перед переездом.
Является ли это ограничением git-svn или есть способ сделать так, чтобы эта история отображалась в моем репозитории? Из моего ограниченного исследования кажется, что использование команды filter-branch
, как описано в Получение полной истории репозитория SVN, который был переименован с помощью git-svn, может работать, хотя в моем случае есть несколько родителей, что, вероятно, усложняет ситуацию. Может ли быть лучше сначала клонировать весь репозиторий, а затем выделить из него новые репозитории (используя filter-branch?)?