J'essaie de faire une commande deploy
dans mon Makefile, qui écrase simplement à la branche deployment
, puis pousse cette branche à origin
. Toutefois, la commande doit arrêter/échouer avec un message d'erreur lorsque l'arborescence de travail n'est pas vide.Comment forcer un dépôt git propre dans un fichier makefile?
Quelque chose comme ce qui suit:
deploy:
status=$(git status --porcelain)
test "x$(status)" = "x"
git branch -f deployment
git push origin deployment
Malheureusement, ce test et variable d'état ne semble pas fonctionner comme voulu.
Comment pourrait-on y parvenir? Suis-je en effet censé utiliser test
?
Dans un makefile, chacune de ces commandes s'exécutera dans un shell séparé. $ (Status) sera aussi la valeur du statut de la variable dans le makefile, pas dans le shell. –