Ошибка после фиксации

Мы работаем над отправкой уведомлений по электронной почте о коммитах SVN и выполняем шаги, указанные здесь: http://sandilands.info/sgordon/email-notifications-of-svn-commit

При тестировании мы получаем следующие ошибки:

Ошибка: ошибка после фиксации (код выхода 127) с выводом:
Ошибка: / repos / cle / hooks / post-commit: 50: commit-email.pl: not found
Ошибка: / repos / cle / hooks / post-commit: 51: log-commit.py: не найдено

Кто-нибудь желает поделиться своим опытом?


person user2705124    schedule 23.08.2013    source источник


Ответы (2)


Похоже, он не может найти (и, следовательно, не может выполнить) commit-email.pl и log-commit.py. Вам либо нужны те, что указаны в пути, либо указан полный путь при вызове (а также убедитесь, что они у вас есть).

person crashmstr    schedule 23.08.2013

Возможно, вам стоит взглянуть на мой SVN Watcher скрипт перехвата после фиксации. Он отправит электронное письмо при фиксации, но позволит вам настроить часы, чтобы указать, какие файлы вам интересны. Кроме того, все пользователи могут создавать список отслеживания файлов, которые им интересны, когда происходит фиксация.

Сообщение об ошибке довольно простое: он не может найти названные сценарии (и вы, вероятно, хотите использовать только версию Perl или версию Python, но не обе сразу. Ошибка может быть вызвана несколькими проблемами:

  • Неправильный PATH установлен. Загрязнения Subversion с переменными окружения и оболочки не могут быть установлены. Сюда входит PATH, для которого может быть установлено значение по умолчанию.
  • В сценариях Perl и Python бит исполняемого файла может не быть установлен для пользователя, выполняющего ловушку.
  • У сценария Perl и Python может быть неправильная строка процессора (например, Perl установлен в /usr/bin/perl, но ваша первая строка - #! /usr/local/bin/perl).
  • Интерпретатор Perl или Python может не встречаться на вашем пути.

Если post-commit является сценарием оболочки, добавьте вверху set -xv и export PS4="\$LINENO:. Это распечатает отладочную информацию, чтобы вы могли видеть, что происходит в вашем скрипте. Это будет распечатано только в случае сбоя сценария оболочки.

person David W.    schedule 27.08.2013