Проблема с уведомлениями по электронной почте на сервере VisualSVN

У меня есть выделенный сервер под управлением Windows 2003 Server и Visual SVN Server 2.0.8.

Я пытаюсь настроить его для отправки уведомлений по электронной почте при коммите. Так что я нашел эту статью на сайте Visual SVN.

Он говорит, что я должен отредактировать хук Post-commit и установить его следующим образом:

"%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^
commit-notification "%1" -r %2 ^
--from <from-email> --to <to-email> ^
--smtp-server <smtp-server>

Конечно, я заменил переменные там.

Проблема в том, что когда кто-то что-то фиксирует, клиент SVN выдает следующую ошибку:

post-commit hook failed (exit code 1) with no output.
VisualSVNServerHooks: Error resolving case of '<path-to-repository>'

Процесс фиксации запускается без проблем, я имею в виду, что он фиксирует файлы. Но он не отправит уведомление по электронной почте. Если я удаляю хук post-commit, то я не получаю сообщение об ошибке (и, конечно, я не получаю никакого уведомления).

Ручной запуск VisualSVNServerHook.exe с использованием cmd.exe с помощью следующего кода работает нормально (отправляет электронное письмо).

"%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" commit-notification ^
<path-to-repository> -r <some-revision_number> ^
--from <from-email> --to <to-email> ^
--smtp-server <smtp-server>

Не могли бы вы помочь мне с этим? Ошибка не говорит слишком много =S

Спасибо!

РЕДАКТИРОВАТЬ: Хорошо... поэтому я попытался заменить%1 и%2 статическими значениями (используя фактический путь к репозиторию и некоторые существующие номера ревизий), так же, как я тестировал с помощью cmd.exe. Но это не сработало. Поэтому я пошел дальше и заменил весь хук простым вызовом C:\hook.bat, та же ошибка. Кажется, что бы я ни положил на крючок, это не сработает.

3 ответа

Решение

У меня были проблемы с чувствительностью к регистру и подрывной деятельностью на окнах раньше. Может ли это быть проблема?

Я бы попробовал это:

 echo "%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^
commit-notification "%1" -r %2 ^
--from <from-email> --to <to-email> ^
--smtp-server <smtp-server> > <somepath>\text.txt

Убедитесь, что команда, отображаемая в text.txt, работает.

Эта проблема исправлена ​​в VisualSVN Server 2.1.3:

Исправлено: VisualSVNServerHooks.exe не работает, если учетная запись службы VisualSVN Server не имеет прав доступа ко всем родителям папки репозиториев.

См. Запись в журнале изменений для VisualSVN Server 2.1.3 для получения более подробной информации.

Попробуйте запустить VisualSVNServerHooks.exe из командной строки с вашими параметрами. Появится сообщение об ошибке, которое может вам помочь.

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

Другие вопросы по тегам