Какие крючки git могут быть выполнены при операции выбора вишни?

#git #cherry-pick #git-cherry-pick

#git #выбор вишни #git-cherry-pick

Вопрос:

Я пытаюсь найти способ проверять коммиты при выборе вишни. К сожалению, я не могу найти git-хук, который работает с cherry-pick операцией. Каким было бы возможное решение для выполнения скрипта при фиксации, выбранной вишней?

Комментарии:

1. prepare-commit-msg вызывается для git cherry-pick (без выхода -n ). Но, кажется, невозможно отличить git cherry-pick от других команд, таких как git rebase .

2. @ElpieKay Значит, при выборе вишни будет вызываться крючок ‘pre-rebase’?

3. @ziemowit141 Нет. Тогда можно отличить git cherry-pick от git rebase .

Ответ №1:

Как сказал другой в комментариях выше, прямого крючка выбора вишни нет.

Но я могу предложить вам обходной путь, который мог бы сработать при определенных условиях:

Некоторые интерфейсы git добавляют сообщение о фиксации по умолчанию к каждой фиксации выбора вишни.

Вот только в качестве примера GitExtension, где команда выбора вишни показывает вам диалог под названием «Фиксация выбора вишни» с отмечаемой опцией «Добавить ссылку на фиксацию в сообщение о фиксации». С этой опцией сообщение о фиксации будет выглядеть, например.:

 Fix of security problem sp345

(cherry picked from commit c157f17740bad0c8c59ff3f693a747552008371d)

# Conflicts:
#   authorization/secure/check.py
  

Для этого может быть написан перехват сообщения о фиксации:

  1. Проверка, содержит ли сообщение о фиксации cherry picked from commit
  2. если да, то делайте все, что хотите, в «крючке выбора вишни»

Требуется только одно условие: чтобы каждый коммиттер следовал правилу добавления (с помощью инструмента или вручную) текста в сообщение о фиксации, который необходим для правильного определения его как выбранной вишни фиксации.