Je suis un développeur unique, en utilisant GIT pour le contrôle de version d'un logiciel embarqué écrit en C. Le logiciel doit être conscient de sa version, et il est actuellement fait en incluant un fichier d'en-tête avec un seul #define:Obtention de la version
#define SOFTWARE_VERSION "1.021"
Ce fichier d'en-tête est créé automatiquement par pré-build script Python qui tente d'obtenir le dernier dépôt git sous forme d'étiquette (tagger toutes les versions publiées avec la chaîne de version). C'est la commande que j'utilise pour obtenir la dernière version de la chaîne.
git décrit --tag TÊTE
l'ensemble des travaux de la chaîne comme prévu, mais il ne semble pas robuste (je pense à briser comme référentiel devient plus compliqué/ramifié). En outre, je pense que je pourrais manquer quelque chose de crucial, car il doit y avoir un moyen plus facile de le faire.
Quelqu'un peut-il apporter des améliorations sur le workflow ou les détails de mise en œuvre? (si quelqu'un est intéressé, je peux poster un script python qui analyse la sortie de git describe)
Oui, utilisez votre script de préconfiguration pour * écrire * le tag sur votre repo avec un numéro de version que vous avez calculé ou entré. – Paul
Je n'utilise pas la version CM pour définir le numéro de version. Je place la balise à la main, et cela n'a rien à voir avec l'identifiant de validation CM. En utilisant le git describe, je peux obtenir la dernière balise, mais je ne suis pas satisfait de la sortie qui doit être analysée pour être utile. On se sent comme un hack ... – Josip