2009-06-02 4 views
1

Прежде всего, вот какой контекст я хочу достичь.Какова оптимальная конфигурация для обслуживания нескольких проектов с помощью Subversion?

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

Теперь проблема:

Я мог бы служить единое хранилище и складывает все мои проекты в корневой папке (как я сейчас делаю) или начать Svnserve демон для каждого хранилища.

Я не могу использовать настройку одного сервера, так как все проекты будут рассматриваться как один большой проект, делая нумерацию версий нумерацией бесполезной и управление проектами невозможно (ну, я думаю).

Я нашел эту статью, которая описывает в основном то, что я собирался сделать:

http://articles.slicehost.com/2007/9/6/multiple-repositories-and-subversion

Однако мой коллега считает, что это массовое убийство, и я не должен это делать.

Для меня, я думаю, что, учитывая, что вряд ли когда-либо пройду более 100 проектов, это не проблема. И даже если бы у меня нереалистично было 500 активных проектов, сервер, вероятно, справился бы просто с 500 незанятыми процессами.

Кто такой?

Или мне нужно пойти на что-то еще, например Mercurial?

ответ

1

IIRC Apache выбрал один большой репозиторий v.s. много меньших репозиториев. Я считаю, что различия, влияющие на выбор подхода, наиболее выражены, если вам нужно обмениваться кодами между репозиториями. Есть несколько инструментов и операций, которые просто не работают с отдельными репозиториями. Насколько я помню, в примечаниях к выпуску были приведены некоторые подробные комментарии для последних выпусков TortoiseSVN и/или Subversion, в которых упоминались некоторые из этих ограничений. Я лично попал в некоторые из этих наземных мин, особенно при работе с сторонними хранилищами.

FWIW - Я использую отдельные репозитории, так как я работаю для разных клиентов. VisualSVN Server, также упоминаемый Malfist, очень хорош, что вы находитесь в Windows и делает тривиальным создание нескольких репозиториев. Выполнение этого же вручную с нуля требует гораздо больше опыта, особенно если вы используете Apache HTTPD в качестве интерфейса. Apache - предпочтительный подход, особенно если вы публикуете SNV в Интернете или нуждаетесь в большем контроле доступа.

2

Пойдите с несколькими хранилищами. Это то, что я делаю, это не слишком много. Я использую что-то вроде VisualSVN Server Manager для управления ими. Он может даже настроить https и уменьшенный сервер Apache для вас. (только окна)

Смежные вопросы