Глобальная настройка хуков Git

Я планирую написать несколько git-хуков в качестве проекта, который регистрирует действия пользователя в базе данных. Затем эту базу данных можно использовать для запросов обо всех его действиях. Действия, которые я пытаюсь записать, следующие:

  • commit
  • pull
  • push
  • merge
  • branch

Я хочу, чтобы это было упаковано в дистрибутивы, которые можно установить через диспетчер пакетов. Git разрешает глобальные перехватчики, помещая их в $ PREFIX / share / templates / hooks

. В настоящее время у него есть некоторые отключенные перехватчики (к их имени добавляется .sample ). Когда создается новый репозиторий, эти хуки копируются в папку .git репозитория

. Теперь, если пользователь устанавливает пакет для этих хуков и хуков, например после фиксации и пост-обновление уже включены. В этом случае файл скрипта будет перезаписан! Звучит плохо

Это означает, что у git есть только один файл ловушек для каждого действия. Если мне нужно оставить три крючка для одного действия, значит, это невозможно. Это означает, что автоматическая установка из диспетчера пакетов может вызвать конфликты.

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

6
задан Manish Sinha 13 November 2010 в 12:13
поделиться