Nano Hash - криптовалюты, майнинг, программирование

TortoiseSVN из командной строки и ЕСЛИ ОШИБКА?

У меня есть командный файл, который я запускаю с рабочей станции Windows XP с пакетом обновления 3, которая применяет изменения SQL к базе данных с помощью sqlcmd.exe в SQL 2005.

У меня есть запись в командной строке для TortoiseSVN для автоматического обновления локальной копии моего репозитория следующим образом:

tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3

Согласно документации, / closeonend: 3 < Параметр / strong> оставит диалоговое окно TortoiseSVN открытым, если во время обновления возникнут какие-либо ошибки, конфликты или слияния.

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

Когда диалоговое окно TortoiseSVN закрывается в случае ошибки, конфликта или слияния после обновления, будет ли для УРОВЕНЬ ОШИБКИ быть установлено какое-то ненулевое значение, что позволит мне обойти остальная часть командного файла? Или он с радостью вернет 0, чтобы указать, что он выполнил свою работу успешно, даже если код не совсем правильный?


  • Я бы просто проверил это. Создайте фиктивный репозиторий локально, C: \ Temp \ Svn или что-то в этом роде, проверьте его в двух каталогах, добавьте файл в один из них и зафиксируйте, затем обновите другой, измените файл в обоих, зафиксируйте в одном и запустите свой командный файл в другом, чтобы увидеть, что происходит. 24.07.2009
  • Почему вы не используете svn.exe? Я что-то упускаю? 24.07.2009
  • Это была моя первая мысль, но я лучше постараюсь сделать все это с помощью исполняемого файла Tortoise, чем постоянно поддерживать Tortoise и SVN; также, кто знает, вносит ли один в какой-то момент какое-то изменение, которое незаметно или болезненно подрывает функциональность другого. 24.07.2009
  • Лассе, после тестирования, как вы описываете, похоже, что возвращаемый ERRORLEVEL всегда равен 0 (это TortoiseSVN версии 1.6.3, сборка 16613), поэтому я думаю, что я просто обновлю вручную перед запуском пакета и убедитесь, что нет ошибок, конфликтов или слияния остаются неразрешенными, если кто-то не знает способ обойти это. Думаю, я мог бы создать свою собственную оболочку EXE, которая могла бы смотреть на диалоговое окно фактического результата Tortoise и просто вносить залог, если он обнаружит одно из этих условий в тексте (используя обмен сообщениями Windows для подключения и перехвата вывода). 24.07.2009

Ответы:


1

Старый вопрос, но сегодня я столкнулся с тем же, и есть решение ...

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
03.02.2011

2

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

24.03.2010
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


© 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование