TortoiseSVN из командной строки и “ЕСЛИ УРОВЕНЬ ОШИБКИ”?
-
19-09-2019 - |
Вопрос
У меня есть пакетный файл, который я запускаю с рабочей станции Windows XP с пакетом обновления 3, который применяет изменения SQL к базе данных, используя sqlcmd.exe в SQL 2005.
У меня есть запись в командной строке для TortoiseSVN Черепаха чтобы автоматически обновить локальную копию моего репозитория следующим образом:
tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3
Согласно документация, тот /завершение:3 опция оставит диалоговое окно TortoiseSVN открытым, если во время обновления возникнут какие-либо ошибки, конфликты или слияния.
Если такое происходит, и пользователь закрывает диалоговое окно, не решив проблемы, они потенциально могут пропустить изменения, которые мы хотим применить к тестовой базе данных данного филиала.
Когда диалоговое окно TortoiseSVN закрывается в случае ошибки, конфликта или слияния после обновления, будет ли УРОВЕНЬ ОШИБОК быть настроенным на некоторые ненулевое значение значение, позволяющее мне обойти остальную часть пакетного файла?Или он счастливо вернется 0 чтобы указать, что он успешно выполнил свою работу, даже если код не совсем правильный?
Решение 2
В итоге я просто вручную обновил свой локальный репозиторий SVN перед выполнением других действий в пакетном файле.
Другие советы
Старый вопрос, но сегодня я столкнулся с тем же самым, и есть решение...
TortoiseProc возвращает -1 при ошибке и 0 при успешном выполнении, поэтому следующее решило проблему для меня:
TortoiseProc /path:"%targetdir%" /command:update /closeonend:3
IF %ERRORLEVEL% NEQ 0 goto SvnError
:SvnSuccess
echo It worked!
goto Done
:SvnError
echo It didn't work!
:Done