J'utilise mercurial
comme SCM, et une sortie de la commande hg parents
dans mon makefile
pour stocker le numéro de build et informations de version dans mon programme. Cependant, mercurial
n'est pas toujours présent sur les machines où j'essaie de construire le programme. Ainsi, hg parent
échoue.
Je voudrais utiliser une chaîne de substitution (codée en dur ou sortie d'un autre programme) lorsque mercurial
n'est pas disponible. Mais je ne suis pas bon dans makefile
script.
Pouvez-vous fournir un indice pour composer une commande makefile
qui stockerait la sortie d'un hg parents
si elle est disponible, ou la sortie de date
si hg
n'est pas disponible, dans la variable interne.Expression qui renvoie soit la chaîne de sortie d'un programme ou d'une chaîne spécifique, si le programme n'existe pas
1
A
Répondre
1
C'est un peu de mauvaise humeur, mais ça marche pour moi:
X=$(shell hg parent || date)
Cranky comment? C'est comme ça que je le ferais, avec l'exception possible de faire un petit script shell pour faire un test pour 'hg' d'abord, puis' hg parents' ou 'date'. De cette façon, vous n'avez pas de messages de commandes non trouvés. –