2012-05-30 3 views
3

Предположим, у меня довольно большое хранилище, содержащее несколько проектов. Я действительно работаю над большинством проектов. Должна ли я иметь «одну большую рабочую копию» локально, которая берет на себя поддержку редкой функции каталога, чтобы получить то, что мне нужно, или каждый проект должен иметь свою собственную рабочую копию. Каковы плюсы и минусы?SVN-проверка нескольких проектов

ответ

2

Я бы сказал, два самых больших факторов, которые влияют, которые подходят принять являются:

  • ли все проекты разделяют большое количество библиотек кода?
  • Вы работаете над одной ветвью для всех проектов?

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

С другой стороны, если, возможно, каждый из этих проектов предназначен для другого клиента, и каждый из них имеет разные временные рамки и должен выполняться в другом филиале (проект A находится в RC-фазе и требует только showstopper bug- исправления, проект B находится в альфа-фазе и может сильно изменяться), затем перейдите к раздельному разреженному рабочему экземпляру.

0

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

+0

вы по-прежнему можете совершить частичную проверку и откат частичной копии с использованием разреженной рабочей копии. – gbjbaanb

+0

да, но это просто добавит больше работы – TomDunning

2

У меня такой же сценарий. Я проверил все проекты в одной структуре вместо использования разреженных каталогов. Тогда очень просто обновить все проекты за один раз или только один проект/папку за раз, просто выбрав нужную папку и зафиксировать/обновить. Таким образом, вы получаете выгоду от каталога spase, когда вам это нужно, или полное обновление/фиксацию вместо того, чтобы делать это один за другим. Моя коллекция составляет около 5 ГБ, 60 тыс. Файлов, и для каждого уровня проекта, или для завершения, все еще очень быстро.

0

Как сказал @the_mandrill, это зависит от того, являются ли ваши проекты частью целостного целого, например, jar-файлов, которые объединены в одном веб-приложении Java EE.

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

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

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