Я хочу настроить SVN-репозиторий для "контроля версий" моих проектов. В настоящее время мое рабочее пространство выглядит следующим образом, и я намерен оставить его таким:
\workspace
\myPrj1
\myPrj2
\myLibBase
\myLibA
\myLibB
myPrj1
использует myLibBase
и myLibA
. myPrj2
использует myLibBase
и myLibB
. У меня будет больше проектов, которые будут использовать библиотеки. Я написал и пишу библиотеки сам. Работая над любым из проектов, я постоянно пытался улучшить не только проект, но и библиотеки: найти ошибки, добавить функции и т. Д.
Теперь, как мне организовать это в хранилище?
Это моя идея, но лучшее ли это решение?
- Я всегда буду использовать рабочее пространство в качестве корня проекта.
- Я всегда буду включать библиотеки, используемые проектом, в папку проекта snv
- У меня всегда будут дополнительные проекты snv для библиотек
Тогда в репозитории приведенный выше пример будет выглядеть так:
\repository
\myPrj1
\myPrj1
\myLibBase
\myLibA
\myProj2
\myProj2
\myLibBase
\myLibB
\myLibBase
\myLibBase
\myLibA
\myLibA
\myLibB
\myLibB
Имея это так
... относительно проектов:
Всякий раз, когда я регистрирую рабочую копию проекта, у меня всегда есть все источники, включая библиотеки, регистрирующиеся вместе. Поэтому, когда я извлекаю ревизию, я всегда получаю все источники (включая библиотеки) такими, какими они были на момент регистрации.
... относительно библиотек:
Кроме того, я могу зарегистрировать рабочую копию библиотеки в проекте svn library, когда я думаю, что это хорошая и стабильная версия. Затем эту версию можно было бы получить при создании нового проекта.
Может кто-нибудь подтвердить, что это хорошая идея? Лучшая практика? Есть ли лучший подход? Могу ли я найти документацию / учебные пособия / .. по этой теме? В сети? В книге?