Я пытаюсь написать сценарий ткани, который выполняет git commit; однако, если фиксировать нечего, git завершает работу со статусом 1. Сценарий развертывания принимает это как неудачное и завершает работу. Я действительно хочу обнаруживать фактические сбои для фиксации, поэтому я не могу просто дать ткани игнорировать git commitсбои. Как я могу позволить игнорировать сбои при пустой фиксации, чтобы развертывание могло продолжаться, но все же выявлять ошибки, возникающие при сбое реальной фиксации?
def commit():
local("git add -p && git commit")
git diffэто «фарфоровая» команда, которую не следует использовать для написания сценариев. Скорее всего, вы хотитеgit diff-index --quiet HEAD || git commit -m 'bla'. См. Также этот ответ .