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 commitfalhas. 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 .