Использование TortoiseSVN через командную строку



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




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




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



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


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



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

794   13  

13 ответов:

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

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

How-to-install-TortoiseSvn-CommandLineTools

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

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

но заметка в значительной степени наверху уже говорит:

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

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

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

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

    TortoiseSVN Command Line Enable

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

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

  1. определить путь в переменных окружения:

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

      C:\Program файлы\TortoiseSVN\bin

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

    примеры:

    TortoiseProc.exe / команда: commit /путь:"c:\svn_wc\file1.txt*c:\svn_wc\file2.формат txt" /logmsg: "test log message" / closeonend: 0

    TortoiseProc.exe / command: update / path:"c:\svn_wc\" / closeonend: 0

    TortoiseProc.exe / command: log / path:"c:\svn_wc\file1.формат txt" /startrev:50 /endrev:60 /closeonend:0

P. S. Чтобы использовать понятное имя как 'СВН' вместо 'TortoiseProc', место 'СВН.bat 'файл в каталоге' TortoiseProc.exe'. Есть пример svn.летучая мышь:

TortoiseProc.exe %1 %2 %3

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

мое решение было использовать 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" для советов о том, как настроить a .командный файл, который выполняется каждый раз, когда вы открываете командную строку как .* rc-файл в Unix.

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

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

как отметил Джоуи, TortoiseSVN имеет собственный синтаксис командной строки. К сожалению, это довольно некрасиво, если вы привыкли svn команды, и он игнорирует текущий рабочий каталог, поэтому он не очень удобен - кроме сценариев.

Я создал небольшую программу на Python (tsvn), которая имитирует svn синтаксис командной строки как можно ближе и вызывает TortoiseSVN соответственно. Таким образом, разница между вызовом обычных инструментов командной строки и вызовом TortoiseSVN сводится к маленькой букве t в начале.

мой tsvn программа еще не завершена, но уже полезные. Его можно найти в чизшопе (https://pypi.python.org/pypi/tsvn/)

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

(at .bat file)

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

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

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

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

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

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

существует путаница, которая заставляет многих пользователей 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 это можно вызвать из командной строки. В большинстве случаев, вы делаете не нужно использовать этот инструмент, потому что он должен использоваться только для автоматизации GUI. TortoiseProc.exe не является заменой для клиента командной строки SVN.

после выбора "SVN command line tools" он станет таким:

Enter image description here

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

  • я перезапустил Android Studio, но это не решило мою проблему

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

Comments

    Ничего не найдено.