Клиент командной строки Subversion: svn

Для того что бы воспользоваться клиентом, введите svn, и желаемую подкоманду [56], а так же любые другие параметры командной строки или указатели на объекты которые хотите задействовать. Не существует порядка в котором подкоманды и параметры должны быть использованы. Например, всё нижеприведённое есть правильное использование svn status:

$ svn -v status
$ svn status -v
$ svn status -v myfile

Много примеров использования большинства клиентских команд может быть найдено в главе Глава 2, Экскурсия по Subversion. Команды для управления свойствами описаны в главе «Свойства».

Параметры svn

Хотя Subversion имеет различные параметры для своих подкоманд, все параметры глобальны. То есть, каждый параметр гарантированно означает одно и тоже, в независимости от подкоманды с которой он используется. Например, --verbose (-v) всегда означает («многословный вывод»), в независимости от того, с какой подкомандой вы его используете.

--auto-props

Включает auto-props, переопределяя значение директивы enable-auto-props в файле config.

--config-dir DIR

Заставляет Subversion считать настройки с указанного каталога вместо используемого по умолчанию (.subversion в домашнем каталоге пользователя).

--diff-cmd CMD

Позволяет указать внешнюю программу просмотра различий между файлами. По умолчанию, подкоманда svn diff использует внутренний механизм сравнения Subversion, выдающий результат в едином формате записи различий (unified diffs). Воспользоваться внешней программой просмотра различий можно указав ее имя в качестве аргумента --diff-cmd. Необходимые аргументы могут быть переданы программе просмотра различий через параметр --extensions (будет описан ниже в этой главе).

--diff3-cmd CMD

Позволяет указать внешнюю программу для слияния файлов.

--dry-run

Позволяет выполнить все действия запущенной команды, но не вносит изменений—ни на диске, ни в хранилище.

--editor-cmd CMD

Определяет внешнюю программу для редактирования комментария или свойства. Подробнее о том, как указать используемый по умолчанию редактор, смотрите раздел, посвященный editor-cmd в «Config».

--encoding ENC

Говорит Subversion в какой кодировке вы пишете комментарий. По умолчанию используется кодировка локали вашей операционной системы. Нужно указать ее явно, если вы желаете написать комментарий в другой кодировке.

--extensions (-x) ARGS

Определяет параметр который Subversion должна передать внешней программе сравнения, когда выясняется различие между файлами. Для передачи нескольких параметров, их нужно заключить их в кавычки (например, svn diff --diff-cmd /usr/bin/diff -x "-b -E"). Этот параметр командной строки может использоваться только совместно с параметром --diff-cmd.

--file (-F) FILENAME

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

--force

Принудительно выполняет отдельные команды или операции. Существуют некоторые операции, выполнения которых, в обычных условиях, Subversion избежать. Задавая этот параметр вы явно говорите Subversion «Я, находясь в своем уме и трезвой памяти, осознаю все возможные последствия моих действий, так что делай что тебе велят ». Этот параметр программный эквивалент выполнения электромонтажных работ "под напряжением"—не зная что делаешь, рискуешь "попасть под фазу".

--force-log

Принуждает параметры --message (-m) или --file (-F) принять в качестве значения сомнительный параметр. По умолчанию, Subversion будет выдавать ошибку, если значения этих параметров выглядят так, как если бы они были объектами обрабатываемыми подкомандой. Например, когда в качестве значения параметра --file (-F) используется имя файла находящегося под версионным контролем, Subversion предполагает была допущена ошибка. Ей кажется, что вместо положенного в таком случае обычного—неверсионированного—файла, по ошибке был указан целевой файл вызываемой операции. Чтобы подтвердить своих намерения и обойти ошибки такого рода, нужно явно задать параметр --force-log для подкоманд предполагающих ввод комментариев.

--help (-h or -?)

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

--ignore-ancestry

Сообщает Subversion о необходимости игнорировать происхождение при вычислении различий. То есть, полагаться только на содержимое.

--ignore-externals

Сообщает Subversion о необходимости игнорировать внешние определения и соответствующие рабочие копии.

--incremental

Выводит результаты в удобном для склейки виде.

--limit NUM

Выводит только первые NUM сообщений из истории.

--message (-m) MESSAGE

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

$ svn commit -m "They don't make Sunday."
--new ARG

Определяет ARG как более новый целевой объект.

--no-auth-cache

Препятствует кешированию идентификационной информации (например имя и пароль) в административноv каталоге Subversion.

--no-auto-props

Отключает auto-props, переопределяя указание enable-auto-props в файле config.

--no-diff-added

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

--no-diff-deleted

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

--no-ignore

Показывает файлы в статусном списке, которых были бы пропущены как подподающие под шаблон конфигурационного свойства global-ignores или свойства svn:ignore. Смотри «Config» и «Ignoring Unversioned Items» для дополнительной информации.

--no-unlock

Не снимает блокировку с файлов автоматически. По умолчанию блокировка снимается для всех фалов учавствющих в закреплении изменений. Смотри «Locking» для для дополнительной информации.

--non-interactive

В случае ошибки идентификации или неполноты параметров идентификации, препятсвует их запрашиванию (например, запросу имени или пароля). Это полезно при вызове Subversion в скрипте, что бы в случаее ошибки Subversion запрос дополнительной информации не привел к остановке выполнения скрипта.

--non-recursive (-N)

Недопускает рекурсивного выполнения подкоманды для подкаталогов. Большинство подкоманд рекурсивно по умолчанию, но некоторые—обычно те, что могут удалять или отменять ваши локальные изменения—таковыми не являются.

--notice-ancestry

Обращает внимение на происхождение при вычислении различий.

--old ARG

Определяет ARG как более поздний целевой объект.

--password PASS

Указывает на ваше желание явно задать пароль для аутентификации—как бы то нибыло, если пароль потребуется, Subversion его у вас спросит.

--quiet (-q)

Выражает просьбу сопровождать выполнение операции только существенной информацией.

--recursive (-R)

Выполнять подкоманды рекурсивно для всех подкаталогов. Большинство подкоманд рекурсивно по умолчанию.

--relocate FROM TO [PATH...]

Используется совместно с подкомандой svn switch, предписывая вашей рабочей копии ссылаться на другое хранилище. Это полезно при изменении адрес размещения вашего хранилица изменился, а вы имеете уже существующую рабочую копию, которую бы желали продолжать использовать. Используйте svn switch в качестве примера.

--revision (-r) REV

Отражает ваше намерение выполнить операцию для указанной редакции (или диапазона редакций). В качестве значений параметра вы можете указывать номер редакции, их ключевые слова или дату (в фигурных скобках). Если вы желаете указать диапазон редакций, вы должны использовать двоеточее в качестве разделителя. Например:

$ svn log -r 1729
$ svn log -r 1729:HEAD
$ svn log -r 1729:1744
$ svn log -r {2001-12-04}:{2002-02-17}
$ svn log -r 1729:{2002-02-17}

Используйте «Revision Keywords» для дополнительной информации.

--revprop

Оперирует со свойствами редакции, a не свойствами файла или каталога. Этот параметр требует указания редакции по средством --revision (-r). Ознакомтесь с «Unversioned Properties» для внесения ясности по неверсионируемым свойствам.

--show-updates (-u)

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

--stop-on-copy

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

--strict

Требует от Subversion использовать строгую семантику. Описать изменение поведения подкоманды довольно трудно без учета специфики самой подкоманды.

--targets FILENAME

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

--username NAME

Указывает на ваше желание явно задать имя пользователя для аутентификации—как бы то нибыло, если имя пользователя потребуется, Subversion его у вас спросит.

--verbose (-v)

Выражает просьбу комментировать процесс выполнения операции как можно более детально. Это может привести к выводу дополнительных полей, подробной информации по каждому файлу или более полной информации о выполняемой операции.

--version

Выводит информацию о версии программы клиента. В дополнение к номеру версии выводится и список всех модулей доступа к хранилищу, которыми может воспользоваться этот клиент. С параметром --quiet (-q) в компактной форме выводится только информация о версии.

--xml

Осуществлять вывод в XML-формате.

Подкоманды svn



[56] Да, да, вам не нужна подкоманда что бы задействовать параметра командной строки --version, но мы вернемся к этому уже через минуту.