Ich verwende ein kleines Skript, um den aktuellen Zweig mit dem Stamm zu verschmelzen und ihn herauszuschieben. Wie kann ich dafür sorgen, dass das Skript fehlschlägt, wenn Nosetests fehlschlagen?
#!/bin/bash
git checkout $1
nosetests
git checkout master
git merge $1
git push
git checkout $1
Antwort1
Fügen Sie set -e
nach der Shebang-Zeile Folgendes hinzu, damit das Skript beendet wird, wenn einer der Befehle fehlschlägt:
#!/bin/bash
set -e
git checkout $1
nosetests
Aus help set
:
-e Sofortiges Beenden, wenn ein Befehl mit einem Status ungleich Null beendet wird.
Antwort2
Sie könnten Folgendes versuchen.
#!/bin/bash
git checkout $1
nosetests || exit 1
git checkout master
git merge $1
git push
git checkout $1
||
Der Rückgabecode wird geprüft und nosetests
der Befehl wird ausgeführt, exit 1
wenn er ungleich Null ist.
Eine andere Variante könnte sein.
#!/bin/bash
git checkout $1
if ! nosetests
then
exit 1
fi
git checkout master
git merge $1
git push
git checkout $1