Консольное приложение С# для ловушки SVN не получает аргументы командной строки

Я написал консольное приложение C# для использования в качестве хука предварительной фиксации SVN. Я использую this для анализа параметров запуска. Он работает на VisualSVN и согласно документации VisualSVN. :

Входные параметры

Аргументы командной строки, передаваемые программе ловушки, по порядку:

  • Путь к репозиторию
  • Подтвердить имя транзакции

Кажется, я не улавливаю аргументы, передаваемые в приложение при запуске через хук. Если я запускаю приложение из консоли, передавая аргументы вручную, оно работает правильно, но при вызове SVN массив args пуст, и парсер командной строки ничего не подхватывает.

Я добавил это, указав абсолютный путь к exe в свойстве хука перед фиксацией в VisualSVN (C:\Scripts\pre-commit.exe). Правильно ли это/нужно ли мне делать что-то особенное, чтобы аргументы передавались приложению?


person Digital-Clouds    schedule 21.11.2016    source источник
comment
Похоже, вы определили здесь основные проблемы; массив аргументов пуст. Не видя никакого кода, трудно сказать, в чем проблема, но из вашего описания я рискну предположить, что это где-то там, где вы вызываете свое приложение перед фиксацией. Какой код используется для вызова?   -  person Novastorm    schedule 21.11.2016
comment
Хм, вы помещаете исполняемый файл, например. C:\Repositories\MyRepo\hooks? Или вы вызываете его через командный файл как обертку по какой-то причине?   -  person bahrep    schedule 21.11.2016
comment
Я вызываю его с помощью C:\Scripts\pre-commit.exe в диалоговом окне хука предварительной фиксации Visual SVN. Я также пробовал это с оболочкой пакетного файла, но это тоже не сработало.   -  person Digital-Clouds    schedule 22.11.2016


Ответы (1)


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

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

person Digital-Clouds    schedule 24.11.2016