2009-11-10 7 views
5

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

В SVN после совершения крючок я писал:

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

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

% 1 является PATH
% 2 является номер версии

EDIT

Ответ на мой вопрос о том, что исполняемый файл должен быть в «Bin» директории SVN сервера, а не в папке с крючками репозитория.

Спасибо, Oded.

+1

@Oded: вы добавили много дополнительных деталей в комментарии к ответам. Вы можете сделать вопрос более понятным и лучше, отредактировав его, чтобы добавить детали. – JXG

ответ

0

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

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

Вы говорите: «это застряло», вы получаете сообщение об ошибке? более подробная информация о том, как это может помочь.

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

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

Является ли это простой сервер SVN или вы используете VisualSVN сервер?

+0

Я использую VisualSVN Server. работает на сервере Windows. PATH файла exe: D: \ print.exe. Окно фиксации ничего не делает. Он не показывает ошибку или что-то еще. ни полное сообщение, ни сообщение об ошибке. – Oded

+0

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

+0

Да, что говорит Питер. Если вы удаляете крючок, значит, работает фиксация? –

1

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

echo "%1" "%2" > c:\temp\log.txt 
+0

В конечном итоге я захочу выполнить скрипт из exe-файла. Поэтому я должен запустить файл. – Oded

+1

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

+0

Я пробовал то, что вы сказали. Он создает файл txt. Я пробовал что-то вроде: echo "% 1" "% 2"> c: \ log.txt print.exe "% 1" "% 2" (отправка 2 аргументов). и он все еще застревает. коммит не завершается. окно фиксации остается открытым. – Oded

0

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

echo %1 %2 >&2 

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

Смежные вопросы