Я использую маленький сценарий, чтобы объединить текущее ответвление в соединительную линию и выставить его. Как я могу сделать сбой сценария, если nosetests перестал работать?
#!/bin/bash
git checkout $1
nosetests
git checkout master
git merge $1
git push
git checkout $1
Добавьте set -e
после строки хижины, чтобы заставить сценарий выйти, если какая-либо команда перестала работать:
#!/bin/bash
set -e
git checkout $1
nosetests
От help set
:
Выход-e сразу, если команда выходит с ненулевым состоянием.
Вы могли попробовать следующее.
#!/bin/bash
git checkout $1
nosetests || exit 1
git checkout master
git merge $1
git push
git checkout $1
Эти ||
проверит код возврата nosetests
и выполнит команду exit 1
, если это будет ненулевым.
Другой вариант мог быть.
#!/bin/bash
git checkout $1
if ! nosetests
then
exit 1
fi
git checkout master
git merge $1
git push
git checkout $1