2015-01-29 3 views
1

Поскольку я сейчас работаю над довольно крупным проектом разработки программного обеспечения (мы все еще находимся на этапе планирования), мы думаем о правильном VCS. Для некоторых функций, которые мы хотим использовать для совместной работы со всей командой, потребуется, чтобы мы могли запускать сценарий оболочки всякий раз, когда что-то добавляется в промежуточную область.Настройка крюка для git add

Я прочитал различные веб-сайты и Git Book, а также man-страницы для Git, но не смог найти решение.

Есть все виды крючков; Pre-Commit, Prepare-commitmsg и т. Д., Но, к сожалению, нет ничего (AFAIK), который реагирует на изменения в промежуточной области.

Заранее благодарим за предоставленную помощь.

EDIT: Из комментария у меня есть (и я пробовал). Теперь я знаю, что чистый фильтр git будет тем, что я хочу использовать. Он позволяет мне выполнять операции, которые я хочу выполнить, и отменить этап, предоставив ненулевое возвращаемое значение. Это, однако, не очень помогает, потому что мне нужно что-то интерактивное или, по крайней мере, предоставляющее пользователю выход, который кажется невозможным с помощью фильтров.

+1

imnsho, каждый раз, когда любой разработчик запускает какой-то случайный фрагмент контента в свое собственное репо, настолько же ценен, как и вы, возможно, не хотят транслировать отдельные нажатия клавиш. Тем не менее, если вы действительно должны, git называет эти «фильтры». – jthill

+0

@jthill: Вы правы, фильтры были бы почти тем, что мне нужно. Есть ли способ передать сообщение пользователю в конце фильтра? – winfreak

ответ

0

Используйте фильтры git, как вы уже узнали сами.

Чтобы вывести сообщение пользователю можно перенаправить стандартный вывод на STDERR как echo "message to user" >&2 в сценарии оболочки.

Смежные вопросы