Преобразование репозитория из Git в Subversion - PullRequest
41 голосов
/ 31 января 2009

Причины для этого, есть ли разумный способ конвертировать весь репозиторий Git в Subversion ?

Я могу найти только тонны информации о миграции из subversion в git и обмене наборами изменений между ними, но не для простого преобразования всего хранилища git в svn ,

Ответы [ 2 ]

14 голосов
/ 31 января 2009

Общая проблема с выполнением преобразований в этом направлении заключается в том, что репозитории Git могут содержать больше, чем просто линейную историю ревизий, как ожидал бы Subversion. Возможны множественные предки с расходящимися историями и частыми коммитами слияний, которые не могут быть легко представлены в репозитории Subversion.

Для простых случаев, когда у вас есть линейная история в вашем репозитории Git, вы можете использовать git-svn dcommit, чтобы переместить лот в пустой пустой репозиторий Subversion.

7 голосов
/ 12 мая 2012

Это очень легко выполнить с 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-репозиторий будут синхронизированы: каждый push-запрос Git будет транслироваться в SVN-фиксацию и наоборот. Чтобы прервать перевод, запустите

$ subgit uninstall svn.repo

В то время как перевод SubGit будет пытаться сохранить даты фиксации, теги, игнорирует, слияния, EOL, ветви и так далее, насколько это возможно. Я не могу сказать то же самое о git-svn хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...