Использование TortoiseSVN через командную строку - PullRequest
226 голосов
/ 26 октября 2009

Я хочу использовать параметры командной строки SVN. Я использую TortoiseSVN, я запускаю несколько команд и получаю следующую ошибку.

'svn' не распознается как внутренняя или внешняя команда

Я использовал команду

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

Думаю, мне следует добавить переменную окружения или что-то еще.

Что мне делать или нельзя использовать TortoiseSVN из командной строки?

Ответы [ 13 ]

430 голосов
/ 26 марта 2012

По умолчанию TortoiseSVN всегда имеет графический интерфейс пользователя, связанный с ним. Но в установщике (версии 1.7 и выше) вы можете выбрать опцию «инструменты клиента командной строки», чтобы вы могли вызывать команды svn (например, svn commit и svn update) из командной строки.

Вот скриншот опции «инструменты клиента командной строки» в установщике, вам нужно убедиться, что вы выбрали ее:

How-to-install-TortoiseSvn-CommandLineTools

126 голосов
/ 26 октября 2009

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

Информацию о параметрах командной строки TortoiseSVN можно найти в документации: Приложение D. Автоматизация TortoiseSVN . Основная программа для работы здесь TortoiseProc.exe.

Но заметка наверху уже гласит:

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

Другой вариант - установить двоичные файлы Subversion. Slik SVN - хорошая сборка (и не требует регистрации, такой как Collabnet). Последние версии TortoiseSVN также включают в себя клиент командной строки, если вы решите установить его.

74 голосов
/ 04 декабря 2015

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

  1. Перейдите в Панель управления Windows → Программа и компоненты (Windows 7 +)
  2. Найдите TortoiseSVN и щелкните по нему.
  3. Выберите «Изменить» из доступных вариантов.
  4. Обратитесь к этому изображению для дальнейших шагов.

    TortoiseSVN Command Line Enable

  5. После завершения инструментов клиента командной строки откройте командную строку и введите svn help, чтобы проверить успешную установку.

25 голосов
/ 26 ноября 2012

Чтобы использовать поддержку команд, вы должны выполнить следующие шаги:

  1. Определение пути в переменных среды:

    • open ' Свойства системы ';
    • на вкладке ' Дополнительно ' нажмите кнопку ' Переменные среды '
    • в разделе ' Системные переменные ' выберите ' Путь ' и нажмите ' edit '
    • добавить значение переменной с путем к TortoiseProc.exe файлу, например:

      C: \ Program Files \ TortoiseSVN \ bin

  2. Поскольку вы зарегистрировали TortoiseProc , вы можете использовать его в соответствии с документацией TortoiseSVN .

    Примеры:

    TortoiseProc.exe / команда: commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt» / logmsg: «тестовое сообщение журнала» / closeonend: 0

    TortoiseProc.exe / команда: обновление / путь: «c: \ svn_wc \» / closeonend: 0

    TortoiseProc.exe / команда: log /path:"c:\svn_wc\file1.txt " / startrev: 50 / endrev: 60 / closeonend: 0

P.S. Чтобы использовать понятное имя, например «svn» вместо «TortoiseProc», поместите файл «svn.bat» в каталог «TortoiseProc.exe». Вот пример svn.bat:

TortoiseProc.exe %1 %2 %3
8 голосов
/ 20 ноября 2013

Мое решение состояло в том, чтобы использовать DOSKEY , чтобы установить псевдонимы для команд, которые я использую чаще всего:

DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*

Google "doskey persist" для советов о том, как настроитьфайл .cmd, который запускается каждый раз при открытии командной строки, как файл. * rc в Unix.

8 голосов
/ 02 июля 2013

Чтобы включить svn, снова запустите программу установки TortoiseSVN, выберите «Изменить» (позволяет пользователям изменять способ установки компонентов) и установите «инструменты клиента командной строки».

3 голосов
/ 17 ноября 2017

Вы можете установить как инструменты TortoiseSVN, так и инструменты командной строки Apache Subversion. Я обычно устанавливаю инструменты Apache SVN с сайта загрузки VisualSVN: https://www.visualsvn.com/downloads/

После установки поместите Subversion \ bin в установленный PATH. Тогда вы сможете использовать TortoiseSVN, когда вы хотите использовать графический интерфейс, и у вас есть соответствующие инструменты командной строки SVN для использования из командной строки.

1 голос
/ 27 июня 2017

Существует путаница, которая заставляет многих пользователей TortoiseSVN использовать неправильные инструменты командной строки, когда они действительно искали svn.exe клиента командной строки.

Что мне делать или нельзя использовать TortoiseSVN из командной строки?

svn.exe

Если вы хотите запускать команды Subversion из командной строки, вы должны запустить клиент командной строки svn.exe. TortoiseSVN 1.6.x и более ранние версии не включали инструменты командной строки SVN, но современные версии включают.

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

Если в вашей системе установлены средства командной строки SVN, но все равно появляется ошибка 'svn' is not recognized as an internal or external command, вам следует проверить %PATH% переменную окружения. %PATH% должен включать путь к каталогу инструментов SVN, например C:\Program Files (x86)\VisualSVN\bin.

TortoiseProc.exe

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

1 голос
/ 06 января 2015

Мое исправление для получения команд SVN заключалось в копировании файлов .exe и .dll из каталога TortoiseSVN и вставке их в папку system32.

Вы также можете выполнить команду из каталога TortoiseSVN и добавить путь к рабочему каталогу для каждой команды. Например:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

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

1 голос
/ 29 мая 2014

Через некоторое время я использовал этот обходной путь ...

(в файле .bat)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%
...