Использование скриптов python в перехватах subversion в Windows

StackOverflow https://stackoverflow.com/questions/1135499

Вопрос

Моя главная цель - получить это встал и работает.

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

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

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

У меня запущен trac, поэтому Python работает на самом сервере.

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

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

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

    и

    УСТАНОВИТЕ PYTHON_PATH=X:\Python26 ЕСЛИ %PYTHON_PATH% НЕ СУЩЕСТВУЕТ, ЗАВЕРШИТЕ 4

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

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

Похоже, проблема с вызовом скриптов python извне, но не уверен, как я собираюсь изменить разрешения для этого.

Заранее благодарю.

Это было полезно?

Решение

Примите во внимание следующие моменты:

  • сопоставления сетевых дисков и subst сопоставления зависят от конкретного пользователя.Убедитесь, что диски существуют для учетной записи пользователя под которой запущен svn-сервер .
  • скрипты subversion hook - это запускаться без каких-либо переменных окружения устанавливается по соображениям безопасности, даже %path%.Вызовите исполняемый файл python с указанием абсолютного пути, напримерc:\python25\python.exe.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top