Когда я использовал subversion для кода для приложения, я мог бы добавить период и результат svnversion
к номеру версии, чтобы создать уникальный и монотонно увеличивающий номер версии, а также гарантировать, что любая регистрация той же версии кода будет генерировать тот же номер версии.
В Mercurial, поскольку номера версий не обязательно согласованы между клонами, локальный номер ревизии не подходит. Хэш является уникальным и последовательным, но не создает число, увеличивающее монотонность. Как я могу создать подходящее число для добавления к номеру версии на основе репозитория Mercurial?
edit: У меня есть приложение, которое имеет автоматическую проверку обновлений, которая зависит от номера версии, которая представляет собой цепочку целых чисел, разделенных периодом, для определения того, является ли новая версия новой или нет. Общепринято, что во время между выпусками у меня есть некоторые пользователи, которые тестируют тестовые сборки. Часто эти сборки решают проблему, испытываемую тестером, поэтому тестер останавливает использование выпущенной версии и переключается на тестовую сборку. Мои первоначальные цели в добавлении дополнительного компонента к номеру версии были следующими:
- убедитесь, что при выпуске релиза те, кто использует тестовую сборку, также были автоматически обновлены.
- быть в состоянии легко сказать, использовал ли тестер самую последнюю тестовую сборку
Например, версия 0.5.0 имела номер версии 0.5.0.410; до выпуска 0,5,1, были установлены тестовые сборки с номерами версий 0.5.1.411, 0.5.1.420 и 0.5.1.421; то выпуск 0.5.1 имел номер версии 0.5.1.423.