Должен ли я иметь 1 или несколько хранилищ? - PullRequest
7 голосов
/ 20 февраля 2009

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

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

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

РЕДАКТИРОВАТЬ: Пожалуйста, отметьте как дубликат для одного из следующих:

Один репозиторий SVN или несколько?

Должен ли я хранить все проекты в одном или нескольких хранилищах?

Ответы [ 10 ]

5 голосов
/ 20 февраля 2009

У меня есть один большой репозиторий по тем же причинам, что и ответ Кена:

Один репозиторий SVN или несколько?

1 голос
/ 20 февраля 2009

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

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

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

1 голос
/ 20 февраля 2009

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

0 голосов
/ 21 февраля 2009

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

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

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

0 голосов
/ 21 февраля 2009

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

0 голосов
/ 20 февраля 2009

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

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

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

0 голосов
/ 20 февраля 2009

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

0 голосов
/ 20 февраля 2009

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

0 голосов
/ 20 февраля 2009

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

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

0 голосов
/ 20 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...