Команды TortoiseSVN

Извлечь

svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL ПУТЬ
      

The depth combo box items relate to the -depth argument.

Если помечен флажок Пропустить внешние, используйте параметр --ignore-externals.

Если вы извлекаете конкретную ревизию, укажите её после URL при помощи параметра -r.

Обновить

svn info URL_рабочей_копии
svn update [-r rev] ПУТЬ
      

Обновление нескольких элементов в данный момент не является атомарной операцией в Subversion. Поэтому TortoiseSVN сначала находит ведущую ревизию (HEAD) в хранилище, а затем обновляет все элементы до этой ревизии во избежание создания рабочей копии со смешанными ревизиями.

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

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

Обновить до ревизии

svn info URL_рабочей_копии
svn update [-r rev] [-depth ARG] [--ignore-externals] ПУТЬ

The depth combo box items relate to the -depth argument.

Если помечен флажок Пропустить внешние, используйте параметр --ignore-externals.

Фиксировать

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

svn status -v ПУТЬ
      

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

Если вы отметите какие-либо неверсированные файлы и папки, эти элементы сначала будут добавлены к вашей рабочей копии.

svn add ПУТЬ...
      

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

svn commit -m "LogMessage" [-depth ARG] [--no-unlock] ПУТЬ...
      

СообщениеЖурнала здесь представляет собой содержимое поля ввода сообщения журнала. Оно может быть пустым.

Если помечен флажок Сохранить блокировки, используйте параметр --no-unlock.

Различие

svn diff ПУТЬ
      

Если вы используете команду 'Различия' из главного контекстного меню, вы сравниваете изменённый файл с его базовой ревизией. Вывод из ИКС вышеприведенной команды тоже это выполняет и производит выдачу в формате объединённых различий. Однако, TortoiseSVN это не использует. TortoiseSVN применяет TortoiseMerge (или программу сравнения по вашему выбору) для наглядного отображения различий между текстовыми файлами, поэтому прямого эквивалента ИКС нет.

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

Журнал

svn log -v -r 0:N --limit 100 [--stop-on-copy] ПУТЬ
или
svn log -v -r M:N [--stop-on-copy] ПУТЬ

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

Если отмечен флажок Остановиться на копировании/переименовании, используйте параметр --stop-on-copy.

Проверка на наличие изменений

svn status -v ПУТЬ
или
svn status -u -v ПУТЬ
      

Начальная проверка статуса смотрит только на вашу рабочую копию. Если вы нажмёте на Проверить хранилище, тогда проверяется также и хранилище, чтобы посмотреть, какие файлы будут изменены при обновлении, и это требует параметра -u.

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

Граф ревизий

Граф ревизий - это возможность, предоставляемая только TortoiseSVN. Аналога в клиенте командной строки нет.

Что TortoiseSVN при этом делает:

svn info URL_рабочей_копии
svn log -v URL
        

где URL - это корень хранилища, и затем анализирует возвращённые данные.

Обозреватель хранилища

svn info URL_рабочей_копии
svn list [-r rev] -v URL

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

Вызов svn list покажет список содержимого папки, для указанного URL и ревизии.

Редактировать конфликты

Эта команда не имеет эквивалента в ИКС. Она вызывает TortoiseMerge или внешний инструмент трёхстороннего различия/слияния для просмотра файлов, вовлечённых в конфликт и отбора строк, которые должны быть использованы.

Улажено

svn resolved ПУТЬ  

Переименовать

svn rename ТЕКУЩИЙ_ПУТЬ НОВЫЙ_ПУТЬ

Удалить

svn delete ПУТЬ
      

Убрать изменения

svn status -v ПУТЬ
      

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

Когда вы нажмёте на ОК, Subversion уберёт изменения. Если вы оставили все флажки выбора файлов в состоянии по умолчанию, TortoiseSVN использует одиночную рекурсивную (-R) отмену изменений в рабочей копии. Если вы снимете пометки с некоторых файлов, тогда каждый путь должен быть указан индивидуально в командной строке для удаления изменений.

svn revert [-R] ПУТЬ...
      

Очистка

svn cleanup ПУТЬ
      

Заблокировать

svn status -v ПУТЬ
      

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

svn lock -m "LockMessage" [--force] ПУТЬ...
      

СообщениеБлокировки представляет собой содержимое поля сообщения блокировки. Оно может быть пустым.

Если отмечен флажок Перехватить блокировки, используйте параметр --force.

Снятие блокировки

svn unlock ПУТЬ
      

Ответвление/Метка

svn copy -m "СообщениеЖурнала" URL URL
  или
svn copy -m "СообщениеЖурнала" [email protected] [email protected]
  или
svn copy -m "СообщениеЖурнала" ПУТЬ URL

Диалог Ответвление/Метка выполняет копирование в хранилище. Есть 3 переключаемые кнопки:

  • Ведущая ревизия в хранилище (HEAD)
  • Указанной ревизии в хранилище
  • Рабочая копия

которые соответствуют трем вышеприведённым вариантам командной строки.

СообщениеЖурнала здесь представляет собой содержимое поля ввода сообщения журнала. Оно может быть пустым.

Параметр

svn info URL_рабочей_копии
svn switch [-r rev] URL ПУТЬ

Слияние

svn merge [--dry-run] --force [email protected] [email protected] ПУТЬ

Кнопка Пробное выполняет такое же слияние с параметром --dry-run.

svn diff [email protected] [email protected]

Кнопка Объедин. различия показывает результат операции различия, который будет использован для выполнения слияния.

Экспорт

svn export [-r rev] [--ignore-externals] URL ПУТЬ_Экспорта

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

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

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

В обоих случаях, если помечен флажок Игнорировать внешние, используйте параметр --ignore-externals.

Перебазировать

svn switch --relocate Из_URL На_URL

Создать здесь хранилище

svnadmin create --fs-type fsfs ПУТЬ
      

Добавить

svn add ПУТЬ...
      

Если вы выделили папку, TortoiseSVN сначала рекурсивно просмотрит её для поиска элементов, которые могут быть добавлены.

Импорт

svn import -m СообщениеЖурнала ПУТЬ URL

СообщениеЖурнала здесь представляет собой содержимое поля ввода сообщения журнала. Оно может быть пустым.

Авторство (Blame)

svn blame -r N:M -v PATH
svn log -r N:M PATH

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

Добавить в список игнорирования

svn propget svn:ignore ПУТЬ > tempfile
{внести новый игнорируемый элемент в tempfile}
svn propset svn:ignore -F tempfile ПУТЬ

Поскольку в свойстве svn:ignore часто содержится несколько строк, здесь показано, как его изменять через текстовый файл, а не непосредственно через командную строку.

Создать заплатку

svn diff ПУТЬ > файл-заплатка

TortoiseSVN создаёт файл заплатки в формате объединённых различий, сравнивая рабочую копию с её базовой версией.

Применить заплатку

Применение заплатки - хитрое дело, если только у заплатки и рабочей копии не одна и та же ревизия. К счастью для вас, можно использовать программу TortoiseMerge, которая не имеет прямого эквивалента в Subversion.