Гранулярность для создания VCS-репозиториев
При какой степени детализации вы создаете новый VCS-репозиторий?
Например, у нас есть несколько базовых API/ библиотек (~30 проектов), несколько инструментов разработки (~10 инструментов, у каждого инструмента ~5 проектов) и несколько приложений (~20 приложений с ~15 проектами). Инструменты и приложения основаны на базовой библиотеке, и некоторые приложения могут зависеть от других приложений.
Я думал о создании 3 хранилищ
- один для библиотеки
- один для инструментов разработки
- и один для приложений
Будет ли это значимым разделением кода или вы порекомендуете другую гранулярность?
ура
1 ответ
Ответ зависит от системы контроля версий, которую вы используете. В случае Subversion у вас может быть один монолитный репозиторий для всех ваших проектов. Например, в официальном хранилище Apache Software Foundation находятся многочисленные проекты, которые находятся под эгидой ASF. Вы также можете следовать подходу к репозиторию для каждого проекта без каких-либо проблем.
Однако с git все по-другому. Поскольку он децентрализован, он не может эффективно хранить несколько проектов в одном хранилище. Вы ограничены подходом к репозиторию для каждого проекта.