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 diffs'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 .