Я пишу утилиту, которая автоматизирует некоторые процессы SVN. На всех машинах, на которых будет развернута эта утилита, установлен TortoiseSVN, однако они могут отличаться от указанных версий. Я понимаю, что TortoiseSVN статически связан с определенной версией библиотеки SVN и часто обновляется.
Чего я хочу избежать, так это того, чтобы проверки, которые моя утилита создает и обновлений, были несовместимы с TortoiseSVN. Моя первоначальная идея состояла в том, чтобы использовать аргументы командной строки TortoiseSVN для вызова диалогов, но все они требуют ввода данных пользователем. Я бы предпочел, чтобы все это было автоматически, и вывод команд SVN отправлялся на стандартный вывод.
Есть ли способ получить прямой доступ к библиотеке SVN, которую TortoiseSVN использует внутри себя? Или проверки SVN гарантированно (вперед и назад) совместимы между незначительными различиями версий? Обновление бинарных файлов SVN, которые использует моя утилита для основной версии SVN, не будет большой проблемой. Я просто не хочу поручать каждому пользователю использовать определенную версию TortoiseSVN.
Для тех, кто предлагает использовать инструменты командной строки для SVN:
На клиентах могут не быть установлены двоичные файлы командной строки SVN - и даже если они это сделают, будут различия между версией, с которой связан TortoiseSVN, и версией, с которой связаны двоичные файлы командной строки - что может привести к несопоставимости.