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