Должен ли я использовать один SVN-репозиторий для каждого веб-сайта или создать подкаталоги для каждого сайта в одном репозитории? - PullRequest
4 голосов
/ 12 января 2010

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

Спасибо за вашу помощь.

Ответы [ 3 ]

4 голосов
/ 12 января 2010

В общем, я рекомендую один проект для каждой модели хранилища.

Потенциальная ошибка, с которой сталкиваются некоторые люди, требует нескольких проверок, обмена кодом и т. Д.

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

Прибыль, которую вы получаете с несколькими репозиториями, кратна.

  • В частности, SVN замедляется при работе с большим оформлением заказа. Все обычные команды будут занимать заметно больше времени при очень большой проверке.

  • Если вы начнете делиться работой с другими разработчиками, затраты на обслуживание могут увеличиться, поскольку вам может потребоваться заблокировать их в одних «каталогах проектов», предоставляя им доступ к другим.

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

  • Простота. Несколько репозиториев могут дать вам очень четкое руководство о том, как разделить ваш код. Это приводит к более чистому разделению, если используется правильно, и, следовательно, может действовать как расширение инкапсуляции вашего кода.

Поскольку сервер стоит, что было упомянуто Дейвом, очень легко настроить сервер таким образом, чтобы войти в него и запустить svnadmin create в нужной директории достаточно для создания нового репо.

Личный опыт

Подкрепляя все эти мысли, я поделюсь с вами немного своим личным опытом по этой теме.

Меня также называют Кельтен, и я основал WowAce.com. До недавнего времени мы работали с одним из крупнейших общих svn-репозиториев в Интернете. В нем было более 82 тыс. Ревизий и более 1,5 тыс. Проектов, представленных в разные моменты его истории для более чем 3 млн. Строк кода.

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

В конце концов, это заставило меня гораздо больше работать, чтобы заставить его работать разумно и разделиться, чем для установки новой системы, которая работала разумно. WowAce.com и CurseForge.com по-прежнему представляют собой один из крупнейших наборов хранилищ аддонов для WoW и нескольких других игр, за исключением того, что теперь все они разделены в хорошем и нормальном стиле.

3 голосов
/ 12 января 2010

Если между веб-сайтами есть зависимости, вам следует выбрать один репозиторий, потому что это упростит откат до стабильных выпусков и тому подобное.

Если у вас есть несколько полностью отключенных веб-сайтов, вы можете использовать разные репозитории. Я не ожидаю проблем с производительностью, если вы это сделаете.

2 голосов
/ 12 января 2010

Один репозиторий под svn/repo работает очень хорошо для меня. Я создаю отдельную структуру svn dir, которая включает по крайней мере trunk dir в svn/repo/ для каждого веб-сайта.

Например:

svn/repo
  /website1/trunk
  /website2/trunk
  /website3/trunk
  /website3/branches (if needed)
  /website3/tags (if needed)

По моему опыту:

  • DRY - несколько репозиториев просто создать более утомительную повторяющуюся систему работа администратора
  • ПОЦЕЛУЙ - один репо самый простой решение без ущерба возможность
  • Тебе это не понадобится - Независимо от того, работаю ли я один или с 10 разработчиками, один репо всегда работает и вызывает многократные репо головные боли
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...