Клиент командной строки 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 можно указав ее имя в качестве аргумента --diff-cmd. Необходимые аргументы могут быть переданы программе diff через параметр --extensions (будет описан ниже в этой главе).

--diff3-cmd CMD

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

--dry-run

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

--editor-cmd CMD

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

--encoding ENC

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

--extensions (-x) ARGS

Определяет параметр который Subversion должна передать внешней программе diff, когда выясняется различие между файлами. Для передачи нескольких параметров, их нужно заключить их в кавычки (например, 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

Препятствует хешированию идентификационной информации (например имя и пароль) в административном каталоге 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» и «Пропуск неверсионированных элементов» для дополнительной информации.

--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}

Используйте «Ключевые слова правок» для дополнительной информации.

--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, но мы вернемся к этому уже через минуту.