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