Ich versuche, ein Fabric-Skript zu schreiben, das a git commit
; Wenn jedoch nichts festgeschrieben werden muss, wird git mit dem Status "beendet" 1
. Das Bereitstellungsskript nimmt dies als nicht erfolgreich an und wird beendet. Ich möchte tatsächliche Fehler beim Festschreiben erkennen, daher kann ich Fabric nicht einfach eine pauschale Ignorierung für git commit
Fehler geben. Wie kann ich zulassen, dass Fehler beim leeren Festschreiben ignoriert werden, damit die Bereitstellung fortgesetzt werden kann, aber dennoch Fehler abfangen, die verursacht werden, wenn ein echtes Festschreiben fehlschlägt?
def commit():
local("git add -p && git commit")
git diff
ein "Porzellan" -Befehl ist, der nicht für die Skripterstellung verwendet werden sollte. Was Sie höchstwahrscheinlich wollen, istgit diff-index --quiet HEAD || git commit -m 'bla'
. Siehe auch diese Antwort .