Я намагаюся написати сценарій тканини, який робить a 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'. Дивіться також цю відповідь .