Обертывание крюка SVN Python в пакетный файл Windows
У меня есть хук предварительной фиксации SVN, который ранее находился на сервере Linux. Я сейчас пытаюсь перенести вещи на сервер Windows (Server 2003).
Этот хук был написан на Python, который отлично работал на Linux с его #!/usr/bin/env python
линия наверху. Windows, однако, не работает таким образом и требует, чтобы хуки были пакетными файлами (или другими форматами, но все же не Python).
Важным является то, что аргументы передаются в сценарий, а код завершения возвращается в вызывающий процесс (сервер SVN), чтобы он знал, разрешать или нет коммит. Я почти ничего не знаю о .bat
Синтаксис файла, но я думал, что что-то вроде этого поможет:
C:\Python26\python.exe pre-commit.py %1 %2
Правильно ли я считаю, что это самый простой способ обернуть скрипт Python? Будет ли он автоматически возвращать код завершения скрипта?
1 ответ
Чтобы ответить на мой собственный вопрос: это почти работает. Код выхода определяется через ERRORLEVEL
переменная, но из-за пустого окружения путь к скрипту должен быть полностью указан. К счастью, первый аргумент содержит местоположение хранилища, так что это просто:
C:\Python26\python.exe %1\hooks\pre-commit.py %1 %2