Сценарий оболочки после коммита фиксации, который просто делает дату> /tmp/post-commit.log ничего не записывается в файл журнала
Я установил сервер SVN с Apache 2 на Ubuntu 10
я создал post-commit.sh с двумя строками кода
хранилище / Крючки /post-commit.sh:
#!/bin/sh
date > /tmp/post-commit.log
в этот файл ничего не написано может кто-нибудь помочь, пожалуйста?
2 ответа
название
post-commit - Уведомление об успешном коммите.
Описание
Хук post-commit запускается после фиксации транзакции и создания новой ревизии. Большинство людей используют этот хук для отправки описательных писем о коммите или для уведомления какого-либо другого инструмента (например, средства отслеживания проблем) о том, что коммит произошел. В некоторых конфигурациях этот хук также используется для запуска процессов резервного копирования.
Выходные данные и выходное значение, возвращаемые программой ловушек после фиксации, игнорируются.
То, что вы хотите, это хук перед фиксацией (вид очевиден, если подумать об этих именах):
название
pre-commit - Уведомление перед завершением коммита.
Описание
Хук предварительной фиксации запускается непосредственно перед тем, как транзакция фиксации будет переведена в новую ревизию. Как правило, этот хук используется для защиты от коммитов, которые запрещены из-за содержимого или местоположения (например, ваш сайт может потребовать, чтобы все коммиты в определенную ветку включали номер заявки от системы отслеживания ошибок или что входящее сообщение журнала не -empty).
Если программа ловушки перед фиксацией возвращает ненулевое значение выхода, фиксация отменяется, транзакция фиксации удаляется, и все, что выводится на stderr, отправляется обратно клиенту.
Кроме того, убедитесь, что файл сценария является исполняемым, и используйте точное имя pre-commit
или же post-commit
т.е. без расширения имени файла!
Попробуйте переименовать скрипт в repository/hooks/post-commit
, Не должно быть расширения в имени файла. Прочитайте repository/hooks/post-commit.tmpl
файл для получения дополнительной информации (в частности, первый абзац, в котором говорится:
Хук post-commit вызывается после коммита. Subversion запускает эту ловушку, вызывая программу (скрипт, исполняемый файл, двоичный файл и т. Д.) С именем 'post-commit'