Ведение версионности
Posted: Tue 11 May, 2021 11:35
Вопрос пошел от сюда https://github.com/FarGroup/FarManager/pull/397 .
Как то ранее упустил. В Far для задания версии используется структура
При попытке воспринимать её как классический SemVer, где Revision это patch, а Build - номер сборки, мы терпим не удачу. Т.к. тут Build скорее как patch, а Revision как номер сборки. В общем это не SemVer. По ссылке выше это объясняется как
вариант изменить GlobalInfo->Version на SemVer скорее всего не вариант. Хотя бы потому, что api уже устаканилось.
Тогда бы я предложил это явно описать в документации и примерах, что там есть https://api.farmanager.com/ru/exported_ ... infow.html .
И остается вопрос - где эта информация используется ? Все ли её воспринимают так же ? если у нескольких плагинов произойдет изменение в этом поле (получается резкий скачек версий) , ничего не сломается ?
Как то ранее упустил. В Far для задания версии используется структура
Code: Select all
struct VersionInfo Info = {Major, Minor, Revision, Build, Stage};
Хорошо. Это путь фара так вести своё версионирование. Но эти же правила/ограничения накладываются и на плагины. При старте плагина надо в GlobalInfo->Version передать версию плагина, оформленную в VersionInfo структуру. И когда я передаю туда версию как 1.3.26.0 (Major, Minor, Revision, Build) полагая что это (Major, Minor, Patch, Build), far она воспринимается и отображается как 1.3.0.26. Что вводит в заблуждение, и расходится с информацией в свойствах dll файла.Historically we identify changes by the build number and the revision was never used.
This is a preparation for a release branching model where a release branch can be cut from master any time and can potentially receive a few bugfixes, identified by the revision number only, while always staying the same feature-wise (and hence with the same "build").
вариант изменить GlobalInfo->Version на SemVer скорее всего не вариант. Хотя бы потому, что api уже устаканилось.
Тогда бы я предложил это явно описать в документации и примерах, что там есть https://api.farmanager.com/ru/exported_ ... infow.html .
И остается вопрос - где эта информация используется ? Все ли её воспринимают так же ? если у нескольких плагинов произойдет изменение в этом поле (получается резкий скачек версий) , ничего не сломается ?