2009-02-20 2 views
7

Я сам задал вопрос: должен ли я создать один репозиторий для всех проектов на этом клиенте? или я должен сделать отдельный репозиторий для каждого?Должен ли я иметь 1 или много репозиториев?

Что вы обычно решаете?

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

EDIT: Пожалуйста, отметьте как дубликат для одного из следующих действий:

One SVN repository or many?

Should I store all projects in one repository or multiple?

+0

Действительно, поиск стека не видел их с условиями, которые я использовал. –

+0

Мы не можем объединить эти вопросы, хотя можем ли мы? Я буду держать это открытым, так как больше ответов лучше, чем меньше. Нужно указывать на другие вопросы. –

+0

Я искал «Должен ли я иметь 1 или много репозиториев?» (ваш вопрос), а ссылка в приведенном выше надписи - # 2 в списке. Я не думаю, что есть слияние, а другое Q не связано с этим. Никаких дубликатов не лучше. – Bratch

ответ

1

Я использую единое хранилище для «всего», потому что это делает перемещение вещи между проектами гораздо проще - в наименее с SVN.

0

Я работаю в магазине разработки .NET и у нас есть два визуальных репозиториев SourceSafe. Один для наших устаревших приложений .NET 1.1 и один для наших новых приложений .NET 2.0/3.0/3.5.

0

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

У нас есть централизованный сервер, где мы можем создавать репозитории по мере необходимости, но не можем изменить конфигурацию. У нас есть основной репозиторий кода, предназначенный только для внутреннего использования, но создайте дополнительные, чтобы взаимодействовать с людьми вне организации.

1

У меня есть репозиторий для каждого проекта, потому что он сохраняет номера версий независимыми. Я последовал за мышление выложенный в разделе помощи TortoiseSVN 4.1.5, «Repository Layout»:

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

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

0

У нас есть один репозиторий на один тип проекта и тип доступа к нему. Например, все наши .NET-проекты находятся в одном репозитории, и все наши устаревшие приложения находятся в одном хранилище. Таким образом, наши разработчики .NET не могут случайно шлепать наших старых разработчиков (и наоборот).

0

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

+0

Помните, что вам не нужно проверять весь репозиторий. Вы можете выбрать любое поддерево, указав его как часть URL-адреса, переданного svn co. – KeithB

0

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

Я управляю репозиториями SCM в нашей компании, и в настоящее время у нас есть три: один для основных проектов, один для пакетов/библиотек и один для стороннего кода. Если бы я снова это сделал, я бы также сделал отдельный репозиторий для медиафайлов (у нас есть много файлов mp3/wav, которые должны быть в управлении версиями), но, увы, они находятся под нашим основным репо.

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

0

Я использую git практически для всех. Поэтому у меня есть репозиторий для каждого проекта (будь то/etc, проекты кодирования или файлы конфигурации пользователя).

0

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

Хорошее эмпирическое правило создает репозиторий для каждой отдельной группы решений \ проектов.

Если у вас есть решения, которые ничего не разделяют, создайте репозиторий для каждого. Другим примером может быть, если у вас есть версия .NET 1.1 для вашего приложения, и вы хотите создать версии 2.0 вашего приложения, подключите свой код и создадите отдельный репозиторий для вашего нового кода, это также можно сделать с помощью .NET 3.0 и. NET 3.5.

+0

Я не вижу, как его сложнее делать автоматические сборки с помощью одного репозитория. Вы всегда можете проверить поддерево. – KeithB

+0

может быть, говорить о крючках? –

+0

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

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