Я разрабатываю множество приложений и имею 3-4 различных библиотеки, которые я повторно использую в этих приложениях (одна для математики, одна для функций базы данных и т. Д.).
В настоящее время у меня есть один главный исходный каталог с каждым проектом в качестве каталога верхнего уровня (включая мои вспомогательные проекты). И каждый проект, которому нужен помощник, добавляет весь проект в качестве ссылки в решение (а не на библиотеку). Это позволяет быстро отлаживать / обновлять вспомогательную библиотеку, но быстро становится громоздким, так как мне всегда приходится перестраивать помощники и вносить критические изменения в интерфейсы, используемые гораздо более старыми программами.
Все они хранятся в магистральном каталоге репозитория Subversion, и когда я разветвляю определенные каталоги, я создаю массивную ветку и т. Д. Это довольно сложно поддерживать обратную совместимость, а также просто сокращать размер кода и локальный размер репозитория.
Как лучше всего справиться с такими ситуациями? Как вы размещаете свои различные проекты.
Вы помещаете каждый проект в отдельный репозиторий Subversion? Или вы используете один репозиторий с несколькими проектами верхнего уровня и стволом / веткой / тегами под ним?
Как вы ссылаетесь на альтернативные проекты? Вы просто компилируете их и ссылаетесь на данные?