Хук после фиксации SVN не выполняет файл - PullRequest
5 голосов
/ 10 ноября 2009

Я создал исполняемый файл, который будет выводить на консоль первый и второй аргументы, которые он получает.

В пост-коммите SVN я написал:

PATH_TO_FILE\print.exe "%1" "%2"

когда я делаю регистрацию, она застревает.

% 1 - ПУТЬ
% 2 - номер редакции

EDIT

Ответ на мой вопрос заключается в том, что исполняемый файл должен находиться в каталоге bin на сервере SVN, а не в папке hooks хранилища.

Спасибо всем, Одед.

Ответы [ 3 ]

1 голос
/ 10 ноября 2009

Печать принимает имя файла для печати на принтере. Вы предоставляете каталог, который я предполагаю из вашего описания. Попробуйте записать что-нибудь в файл.

echo "%1" "%2" > c:\temp\log.txt
0 голосов
/ 26 марта 2010

Это должна быть среда Windows, так как я вижу print.exe. Я просто повторяю приведенные ниже аргументы.

echo %1 %2 >&2

Кажется, что это печатает в командной строке без проблем.

0 голосов
/ 10 ноября 2009

О какой ОС мы говорим? Если это Windows, я не думаю, что вы должны иметь кавычки (") вокруг параметров.

Что такое "PATH_TO_FILE"? А переменная окружения? Какова его ценность? Вы проверили, что он не включает в себя финальную обратную косую черту? Вы перезапустили после изменения переменной среды. Это общесистемная или пользовательская переменная окружения. Помните, что если вы запускаете сервер SVN как службу, он принадлежит другому пользователю, поэтому env var может быть не определен для этого пользователя. Почему бы вам просто не указать прямо сейчас полный путь, просто чтобы проверить, не имеет ли это ничего общего с неверной переменной среды.

Вы говорите "это застряло", вы получаете ошибку? Что именно происходит? Могут помочь еще некоторые детали того, как это не работает.

Если вы используете Windows, вы можете перенаправить любые ошибки в файл, выполнив следующее:

PATH_TO_FILE\print.exe %1 %2 > c:\output.txt

Это обычный сервер SVN или вы используете сервер visualSVN?

...