Есть ли способ использовать git-svn для зеркалирования репозитория Git в SVN и сделать теги / ветви Git стать тегами / ветками SVN? - PullRequest
2 голосов
/ 03 июня 2011

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

По существучто я до сих пор делал, это создавал репозиторий SVN со стандартной компоновкой (имя проекта / транк, имя проекта / теги, имя проекта / ветви) и затем выполнял команду 'git svn init --stdlayout http://server/svn/project-name'. Это устанавливает git-svn для текущего репозитория Git, а затем я делаю любые изменения, которые я хочу сделать в репозитории Git, а затем отправляю их в SVN через 'git svn dcommit', но, похоже, это работает только для проталкивания текущеговетвь (обычно главная) к папке ствола проекта SVN.

Я хотел бы создать теги Git и затем поместить их в папку тегов проекта SVN.Я хотел бы сделать то же самое для всех ветвей, но это не обязательно.Мне нужно, чтобы у зеркала SVN было зеркало транка главной ветки Git, а теги отражали теги Git.

Примечание: зеркало SVN будет доступно только для чтения

Ответы [ 2 ]

2 голосов
/ 19 июля 2012

Вы можете попробовать SubGit вместо git-svn.

SubGit предоставляет функциональность зеркала чтения-записи для репозиториев Subversion и Git.Помимо прочего, он преобразует как ветви, так и теги Git в каталоги ветвей и тегов Subversion.

Подробнее см. Документация SubGit и сравнение git-svn .

SubGit - коммерческий продукт с некоторыми бесплатными опциями.Однократный ввоз также бесплатный.

0 голосов
/ 04 июня 2011

Только с git svn вы не можете отразить никакую операцию Git обратно в SVN. Только новые коммиты, сделанные в зеркальных ветвях, могут быть безопасно возвращены в SVN.

Для более полного обращения вы можете попробовать git2svn , чтобы восстановить репозиторий SVN.
Тем временем вы можете изучить этот рабочий процесс git svn , хотя теги явно не упоминаются.

...