Мы используем gradle и наш номер версии хранится в gradle.properties.Далее мы используем «SNAPSHOTS» для идентификации сборок из разработки.
При создании новой версии мы удаляем постфикс SNAPSHOT в разработке, создаем ветку релиза и увеличиваем номер версии до следующей версии SNAPSHOT в разработке.
Этот процесс предотвращает конфликты слияния для свойств gradle.properties при завершении ветки релиза (которая объединяет последние изменения от релиза до ветки разработки).
Но теперь у нас есть проблема, которая у нас естьконфликты слияния (или, что еще хуже, ускоренное слияние!) при создании ветвей исправлений из master и слиянии их с открытыми ветками выпуска и разработкой.
Та же проблема возникает в проектах Maven, где расположен номер версиив pom.xml.
Есть ли другое хорошее решение для предотвращения этой проблемы?Я думал об экстернализации номера версии и передаче его, например, через параметр сборки или сохранить его в файле, который не находится под контролем версии, но у него есть недостаток, заключающийся в том, что вы не можете идентифицировать версию из источника.
Любая помощь будет признательна.
ОБНОВЛЕНИЕ
Другая идея заключается в том, чтобы использовать название ветви / тэга для идентификации номера выпуска.