Estou tentando escrever um script de tecido que faz um git commit
; entretanto, se não houver nada para confirmar, o git sai com um status de 1
. O script de implantação considera isso malsucedido e fecha. Eu quero detectar falhas reais de confirmação, então não posso simplesmente ignorar o tecido para git commit
falhas. Como posso permitir que falhas de confirmação vazia sejam ignoradas para que a implantação possa continuar, mas ainda detecte erros causados quando uma confirmação real falha?
def commit():
local("git add -p && git commit")
git diff
é um comando "porcelain" que não deve ser usado para scripts. O que você provavelmente deseja égit diff-index --quiet HEAD || git commit -m 'bla'
. Veja também esta resposta .