Как мне не отображать диалог SVN Tortoise Commit? - PullRequest
6 голосов
/ 12 февраля 2010

У меня есть процесс, который изменяет некоторые файлы, и я хотел бы зафиксировать их с помощью командной строки SVN, не нажимая кнопку ОК. Откроется диалоговое окно, и мой сценарий будет вынужден ждать, пока я не нажму ok. Вот аргументы, которые я использую:

TortoiseProc.exe /command:commit /path:"c:\svn\MyProject" /notempfile /logmsg:"Files Modified 2010-02-12" /closeonend:3

Ответы [ 2 ]

6 голосов
/ 12 февраля 2010

Как сказал @bmargulies, просто используйте svn.exe:

cd "c:\svn\MyProject"
svn commit -m "Files Modified 2010-02-12"

Нельзя скрыть диалоговое окно TortoiseProc.exe при фиксации:

Важно

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

(из http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html)

Если вы полагаетесь на поведение TortoiseProc / closeonend: 3 для предупреждения об ошибке, конфликте или слиянии, вам необходимо включить коды выхода SVN.
Я не смог найти список значений кода возврата, кроме "0 - успех, а не 0 - ошибка" в быстром поиске в Google .

4 голосов
/ 12 февраля 2010

Я рекомендую использовать svn.exe вместо TortoiseProc.exe. Это будет намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...