Должна ли каждая рабочая копия приложения иметь свою собственную рабочую копию проектов библиотеки? - PullRequest
0 голосов
/ 03 ноября 2010

Давайте предположим, что некоторые проекты совместно используемых библиотек, называемые Graphics, Sound, IO и т. Д., И несколько приложений, которые их используют.Что лучше: один WC для общих проектов и один WC для каждого приложения?Или у каждого приложения есть WC и отдельный WC для библиотек?

Т.е. разница между:

src
|
|---libs
|   |
|   |---graphics
|   |---sound
|   |---io
|
|---project1
|---project2

И:

src
|---project1
|   |
|   |---libs
|       |
|       |---graphics
|       |---sound
|       |---io
|
|---project2
|   |
|   |---libs
|       |
|       |---graphics
|       |---sound
|       |---io

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

Ответы [ 4 ]

1 голос
/ 03 ноября 2010

Я бы предложил сделать библиотеки своими проектами ....

graphics
  +-- trunk
  +-- tags
  +-- branches


io
  +-- trunk
  +-- tags
  +-- branches

sound
  +-- trunk
  +-- tags
  +-- branches

project1
  +-- trunk
  +-- tags
  +-- branches

project2
  +-- trunk
  +-- tags
  +-- branches

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

0 голосов
/ 04 ноября 2010

Рассматривали ли вы использование репозитория Maven для хранения ваших двоичных зависимостей вместо системы управления исходным кодом?

Диспетчеры зависимостей, такие как ivy , можно использовать для загрузки jar-файлов в WC.как часть процесса сборки.

0 голосов
/ 03 ноября 2010

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

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

0 голосов
/ 03 ноября 2010

Каким образом эти библиотеки «разделяются», если они копируются по всей базе кода?

Какие преимущества вы видите, имея libs в каталоге приложения?

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