Как вызвать скрипт python в хуке precommit сервера visualsvn, работающем в Windows

Я реализую скрипт Python для хука перед фиксацией, чтобы обнаружить сообщение фиксации, автора, измененный путь, а затем выдать исключение или ошибку в конкретных случаях.

Я хочу установить этот скрипт pre-commit.py на сервере VisualSVN. используя эту команду в хуках

C:\Users\momo\Desktop\pre-commit.py %1 %2

Когда я хочу зафиксировать, я получаю эту ошибку Access Denied похоже, что хук предварительной фиксации не распознает мой синтаксис


Как вызвать скрипт python в хуке precommit сервера visualsvn, работающем в Windows

🤔 А знаете ли вы, что...
Python используется в разработке игр с помощью библиотеки Pygame.


2
690
1

Ответ:

Решено

Скрипты Python не считаются исполняемыми файлами в Windows. Вы должны обернуть их в Windows Batch. Например, сценарий ловушки перед фиксацией может выглядеть следующим образом:

set REPOS-PATH=%1
set TXN-NAME=%2
"C:\Python27\python.exe" "C:\Repositories\MyRepository\hooks\pre-commit.py" %REPOS-PATH% %TXN-NAME%

Этот пакетный сценарий Windows запустит сценарий Python, расположенный по адресу C:\Repositories\MyRepository\hooks\post-commit.py, и передаст аргументы %1 и %2.

Поместите этот код в файл \hooks\pre-commit.bat или \hooks\pre-commit.cmd вашего репозитория вручную или через консоль диспетчера сервера VisualSVN:

  1. Запустите консоль Диспетчер серверов VisualSVN.
  2. Щелкните репозиторий правой кнопкой мыши и выберите Характеристики.
  3. Щелкните вкладку Хуки.
  4. Щелкните хук Предварительная фиксация и щелкните Редактировать.