J'essaye d'écrire un script de fabric qui fait un git commit
; cependant, s'il n'y a rien à valider, git se termine avec le statut 1
. Le script de déploiement considère cela comme un échec et se ferme. Je veux détecter les échecs réels de validation, donc je ne peux pas simplement donner à Fabric une couverture ignorer les git commit
échecs. Comment puis-je autoriser l'ignorance des échecs de validation vide afin que le déploiement puisse continuer, tout en détectant les erreurs causées par l'échec d'une validation réelle?
def commit():
local("git add -p && git commit")
git diff
s'agit d'une commande "porcelain" qui ne doit pas être utilisée pour les scripts. Ce que vous voulez probablement, c'estgit diff-index --quiet HEAD || git commit -m 'bla'
. Voir aussi cette réponse .