Sto cercando di scrivere uno script in tessuto che faccia un git commit
; tuttavia, se non c'è nulla da eseguire il commit, git esce con uno stato di 1
. Lo script deploy lo considera non riuscito e si chiude. Voglio rilevare i fallimenti effettivi di commit, quindi non posso semplicemente dare al tessuto una coperta ignorata per i git commit
fallimenti. Come posso consentire che gli errori di commit vuoto vengano ignorati in modo che la distribuzione possa continuare, ma comunque rilevare gli errori causati quando un commit reale non riesce?
def commit():
local("git add -p && git commit")
git diff
è un comando "porcellana" che non dovrebbe essere usato per lo scripting. Quello che molto probabilmente vuoi ègit diff-index --quiet HEAD || git commit -m 'bla'
. Vedi anche questa risposta .