svn-checkout из репозитория GIT - PullRequest
6 голосов
/ 11 января 2011

Есть ли способ сделать svn-checkout из репозитория git?

Проблема в том, что я хотел бы, чтобы репозиторий git хранился на сервере, и я мог нормально работать с ним,выталкивание и извлечение изменений.

Однако есть разработчики, которым не нужно вносить изменения в код, но они должны иметь возможность получить последний снимок исходного кода и построить его на своем компьютере.,Эти так называемые «разработчики» действительно хотели бы использовать SVN, поскольку это SCM, с которым они уже знакомы.

Итак, есть ли способ настроить такой сценарий?Или это единственный возможный способ - использовать репозиторий SVN и работать с ним, используя git-svn, если я хочу git для себя и SVN для остальных моих коллег?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 11 января 2011

Если вы хотите оформить хранилище с помощью SVN, вам, безусловно, нужно иметь хранилище SVN.Без этого было бы трудно отследить вещи, которые плохо переводятся между SVN и git (например, номер редакции, ветви).

Но то, что вы просите, на самом деле не похожерепозиторий, вам просто нужно синхронизировать папку.Для этого лучше подходят другие инструменты, чем SVN, например rsync.Другая возможность состоит в том, чтобы иметь всегда актуальный архив, содержащий исходный код (например, Github предоставляет это).

4 голосов
/ 11 января 2011

Использование SVN репо через git-svn для вас будет работать, но если есть другие люди, которым нравится git, вы потеряете преимущества сотрудничества с git.Это то, что я использую на работе, где SVN является стандартом де-факто, и я просто предпочитаю команды git и лучшее отображение журнала.В любом случае мы в основном используем SVN в качестве инструмента архивации: нет веток, и в реальной жизни мы синхронизируемся для совместной работы над одним документом.

Другим решением будет сделать официальное репозиторий git и автоматически перейтиподчиненный репозиторий SVN, использующий git-svn, либо с помощью cron, либо с помощью ловушки после фиксации.Это кажется лучшим вариантом, если, как вы говорите, пользователям svn никогда не потребуется коммитить.

0 голосов
/ 14 января 2011

Спасибо за ваши ответы, svick и Damien !Они оба хороши, но так как я не могу принять их обоих, я собираюсь подвести итог всему этому в своем собственном ответе.


Так что, в принципе, можно создать хранилище git с только для чтения svn-доступ к нему.Как сказал Дэмиен,

делает официальное репозиторий git и автоматически передает его в подчиненное репозиторий svn, используя git-svn, либо с помощью cron, либо с помощью ловушки после фиксации.*

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


Если некоторым пользователям необходимо внести изменения в код, единственный подходящий способ сохранить их - зафиксировать их обратно в репозиторий, независимо от того, какой SCM используется.В этом случае, если пользователь, внесший изменение, не знает, как выполнить фиксацию, должен быть программист (ответственный за исходный код), который с удовольствием рассмотрит изменение и передаст его обратно в репозиторий.

...