Я - единственный разработчик, использующий GIT для управления версиями встроенного программного обеспечения, написанного на C. Программное обеспечение должно быть в курсе его версии, и в настоящее время оно выполняется путем включения файла заголовка с единственным #define:Получение версии
#define SOFTWARE_VERSION "1.021"
Этот заголовочный файл автоматически создается сценарий Python предварительно сборки, который пытается получить последний хранилищу формы тег GIT (пометить все выпущенные версии с текущей строки версии). Это команда, которую я использую для получения последней версии.
мерзавец описывают --tag ГОЛОВКИ
вся цепь работает, как ожидалось, но это не кажется надежным (я ожидаю, что это сломать, как хранилище становится более сложным/разветвленным). Кроме того, я думаю, что, возможно, мне не хватает чего-то важного, так как это должен быть простой способ сделать это.
Может ли кто-нибудь предложить улучшения в деталях рабочего процесса или реализации? (если кому-то интересно, я могу опубликовать скрипт python, который анализирует вывод описания git)
Да, используйте сценарий предварительной сборки для * записи * тега на вашем репо с номером выпуска, который вы вычисляете или вводите. – Paul
Я не использую версию CM для определения номера выпуска. Я помещаю тег вручную, и он не имеет ничего общего с идентификатором фиксации CM. Используя описание git, я могу получить последний тег, но я не доволен результатом, который нужно проанализировать, чтобы быть полезным. Это похоже на взлом ... – Josip