Преобразование репозитория из git в subversion
Причины для этого в стороне, есть ли разумный способ преобразовать весь репозиторий git в subversion?
Я могу найти только тонны информации о переходе от подрывной деятельности к git и обмениваться наборами изменений между ними, но не для простого преобразования всего репозитория git в svn.
Ответы
Ответ 1
Общая проблема при выполнении преобразований в этом направлении состоит в том, что хранилища Git могут содержать не только линейную историю изменений, как ожидалось Subversion. Возможны множественные предки с расходящимися историями и частые слияния, которые не могут быть легко представлены в репозитории Subversion.
Для простых случаев, когда у вас есть линейная история в вашем репозитории Git, вы можете использовать git-svn dcommit
, чтобы подтолкнуть лот до пустого хранилища Subversion.
Ответ 2
Это очень легко выполнить с SubGit.
$ svnadmin create svn.repo
$ subgit configure svn.repo
$ nano svn.repo/conf/subgit.conf to specify a path to your bare repository (you may use "git clone --bare <URL>" if you have none locally)
$ subgit install svn.repo
После преобразования ваш SVN и связанный репозиторий Git будут синхронизированы: каждый Git push будет переведен на фиксацию SVN и наоборот. Для прерывания выполнения перевода
$ subgit uninstall svn.repo
Во время перевода SubGit попытается сохранить даты фиксации, теги, игноры, слияния, EOL, ветки и т.д., как это возможно. Я не могу сказать то же самое о репозитории git -svn.
Ответ 3
Если время истории не важно, вы можете попробовать
https://github.com/guilhermechapiewski/git2svn