Использование сценариев Python в хуках Subversion в Windows - PullRequest
2 голосов
/ 16 июля 2009

Моя главная цель - запустить и .

Мой хук вызывается, когда я делаю коммит с Tortoise SVN, но он всегда завершается, когда я добираюсь до этой строки: Python "% ~ dp0trac-post-commit-hook.py" -p "% TRAC_ENV%" -r "% REV%" || ВЫХОД 5

Если я попытаюсь заменить вызов сценария Python каким-либо простым сценарием Python, он все равно не будет работать, поэтому я предполагаю, что это проблема с вызовом Python, а не с самим сценарием.

Я попытался установить переменную PYTHON_PATH, а также установить% PATH% для включения Python.

У меня есть отслеживание и запуск, поэтому Python работает на самом сервере.

Вот некоторая справочная информация:

  • Python установлен на сервере Windows, и скрипт вызывается с локального компьютера, поэтому

    ЕСЛИ НЕ СУЩЕСТВУЕТ% TRAC_ENV% ВЫХОД 3

    и

    SET PYTHON_PATH = X: \ Python26 ЕСЛИ НЕ СУЩЕСТВУЕТ% PYTHON_PATH% ВЫХОД 4

не удастся, если я не укажу их на подключенный сетевой диск (то есть наведите их на диски X и Y, а не на диски C и E)

  • Сценарии Python можно вызывать из любой точки командной строки с сервера независимо от диска, поэтому переменная PATH должна быть установлена ​​правильно

Кажется, проблема с внешним вызовом сценариев Python, но я не уверен, как мне изменить разрешения для этого.

Заранее спасибо.

1 Ответ

3 голосов
/ 16 июля 2009

Учитывайте следующие вещи:

  • сопоставления сетевых дисков и subst отображения зависят от пользователя. Удостовериться диски существуют для учетной записи пользователя под которым svn сервер находится работает.
  • скрипты ловушки Subversion запускаются без каких-либо переменных среды устанавливается по соображениям безопасности, даже %path% Вызов исполняемый файл Python с абсолютный путь, например c:\python25\python.exe.
...