Использование Git & SVN, где Git является центральным сервером - PullRequest
2 голосов
/ 17 декабря 2010

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

Примечание: я видел, что Github теперь предоставляет SVN доступ к своим репозиториям Git. Кто-нибудь знает, как они это делают?

Ответы [ 3 ]

3 голосов
/ 17 декабря 2010

Грубый способ, который я могу придумать, - это установить svn-репозиторий внутри вашей сети, оформить заказ оттуда с помощью git-svn, добавить свое реальное git repo` в качестве удаленного, вытащить оттуда и вставить в удаленный svn. Я не знаю, будет ли это работать или надежно, но это должно создать какое-то зеркало. Вы можете синхронизировать свою сторону, используя некоторые из хуков, которые включаются при нажатии для обновления зеркала SVN. Что касается обратного пути (когда ваши клиенты фиксируют SVN-репозиторий), вам придется подумать о чем-то другом для этого.

2 голосов
/ 22 августа 2012

Да, вы можете использовать SubGit :

Создать пустой репозиторий SVN

$ svnadmin create path/for/svn/repository

Настройте его для связи с вашим Git-репозиторием, используя SubGit:

$ subgit configure path/for/svn/repository
$ #edit path/for/svn/repository/conf/subgit.conf to set git.default.repository (absolute or relative path to your bare Git repository)

Запустить непрерывную синхронизацию:

$ subgit install path/for/svn/repository

В результате интерфейсы SVN и Git будут доступны для чтения и записи.

GitHub использует другой подход, насколько я знаю: они реализовали интерфейс SVN, который обращается к Git на лету. Подход имеет свои преимущества и недостатки.

0 голосов
/ 17 декабря 2010

Хорошо, я собираюсь ответить на свой собственный вопрос с плохим, но выполнимым ответом (imo).Я могу использовать стандартные файлы патчей для отправки изменений между нашими двумя компаниями.Мой менеджер считает, что это приемлемое решение, но мне действительно не нравится


РЕДАКТИРОВАТЬ: В ответ на Нуфал Ибрагим, я думаю, что с использованием Tailor в сочетании с крючкомСценарии У меня может быть автоматизированное решение, которое действительно может работать. В этом блоге есть отличное описание использования Tailor для настройки зеркала SVN.

...