Обертывание крюка 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
Другие вопросы по тегам