Я работаю над проектом .net С#, состоящим из решения с несколькими проектами библиотеки классов.
Управление исходным кодом управляется git с использованием gitflow в качестве модели ветвления. Мы решили реализовать семантическое управление версиями (http://semver.org/ ) проекта, чтобы следовать стандартному способу сообщения наших релизов. Для этого мы используем GitVersionTask (через NuGet), который довольно хорошо работает с gitflow.
Каждый раз, когда мы помечаем выпуск и выполняем сборку из основной ветки, версии всех сборок обновляются, и новый выпуск готовится к доставке. Только одна из сборок имеет общедоступный API, все остальные предназначены для внутреннего использования. Я хотел бы знать, является ли это правильным способом управления версией нескольких сборок одного и того же проекта, я имею в виду, не неправильно ли менять версию каждой сборки, когда была изменена только пара (или даже одна)? Чтобы усложнить мысль, существует большая вероятность того, что некоторые из «внутренних» сборок будут использоваться другими проектами, поэтому я считаю не очень разумным увеличивать основную версию сборки, которая не претерпела изменений, только потому, что другая сборка тот же проект продвигает критические изменения. Следует ли управлять каждым сборочным проектом в собственном репозитории?
Заранее спасибо.