Есть ли предпочтительный способ взять репозиторий git и импортировать его в существующий репозиторий Subversion в качестве нового (произвольно глубоко вложенного) каталога при сохранении истории фиксации?
Например, если у меня естьрепозиторий Subversion со следующей (упрощенной) структурой каталогов:
backends
backends/A
backends/B
и я работаю над новым бэкэндом C в git-репо, теперь я хочу добавить содержимое git-репо вsvn repo as backends/C
.
Большая часть информации, которую я нашел, похоже, сосредоточена на импорте на верхнем уровне (как правило, во вновь созданное или иное пустое svn репо).
Мой текущийПодход заключается в том, чтобы использовать следующий фрагмент со страницы руководства git-filter-branch, чтобы перенести существующий верхний уровень git-репо на backends/C
git filter-branch --index-filter \
'git ls-files -s | sed "s-\t\"*-&newsubdir/-" |
GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
git update-index --index-info &&
mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD
, затем использовать git svn и git rebase, чтобы получитьфайлы в репозиторий SVN.Это то, как большинство людей делают это, или есть «лучший» способ?