git v.1.9.5
win xp(x86)
Подскажите способ сохранить во внешнем репозитории хуки написанные в .git/hooks в моем локальном репозитории.
Необходимо для репозитория-шаблона с которого будет осуществляться создание других репозиториев.
Вопрос: есть репозиторий-шаблон на gitlab, например, пользователь создает новый на базе шаблона, затем делает себе git clone созданного репозитория и получает в нем включенные хуки из репозитория-шаблона, автоматизированно без рук, возможно?
UPD: Всегда есть вариант держать в корневой директории репозитория свою папку с хуками и административно заставлять пользователя копировать руками хуки из нее в .git/hooks. Но тут возникает проблема аля "я забыл, я не знал, etc..."
UPD: вроде бы есть путь через TEMPLATE DIRECTORY но если я правильно понял это относиться к созданию нового репозитория локально а не с шаблона на gitlab, например, и в итоге хуки будут все равно иметь расширение sample и опять необходимо руками убирать это что бы активировать необходимые из них.
UPD: может быть есть какая то политика безопасности у git из-за которой он принципиально против того что бы без ведома пользователя запускались какие-либо сценарии о которых о может быть не предупрежден? И поэтому хуки всегда надо править ручками...
Ответ
Как я и предполагал, есть политика безопасности, согласно этого ответа и коментариев к нему.
No, putting them into the repository is fine, I’d even suggest doing so (if they are useful for others as well). The user has to explicitly enable them (as you said, for example by symlinking), which is on one hand a bit of a pain, but protects users on the other hand from running arbitrary code without their consent.
Свою задачу я решил другим путем, через IDE, в которой я с помощью скриптов перехватываю событие сохранения бинарника и произвожу необходимые манипуляции с файлом. Хуки мне стали не нужны.
Но если кто то предложит решение вопроса "без рук" и в рамках ОС и версии гит, указанных в вопросе, то возможно это будет интересно тем кто добавил вопрос в избранное и не только.
Комментариев нет:
Отправить комментарий