Как вызвать скрипт python в обработчике precommit сервера visualsvn, работающем в Windows - PullRequest
0 голосов
/ 25 января 2019

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

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

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

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


enter image description here

1 Ответ

0 голосов
/ 25 января 2019

Сценарии 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. Нажмите Pre-commit крюк и нажмите Изменить .
...