Алексей Махоткин

домашняя страница

CVS — Система Управления Параллельными Версиями

Go to the first, previous, next, last section, table of contents.


Стандартные ключи командной строки

В этой главе описываются `ключи_команды’, доступные для использования с несколькими командами CVS. Эти ключи всегда задаются справа от имени `команды_CVS’. Не все команды поддерживают эти ключи, но лишь те, для которых ключ имеет смысл. Однако, если команда имеет один из этих ключей, вы можете быть уверены в одинаковом поведении этих ключей с разными командами. (Другие ключи команд, описанные вместе с отдельными командами, могут иметь различное поведение с разными командами CVS).

Предупреждение: команда `history’ является исключением, она поддерживает различные ключи, конфликтующие даже со стандартными ключами.

@macro std-option-f

  • -f Если не найдено совпадающей ревизии, извлечь самую свежую ревизию (а не игнорировать файл). @macro std-option-l
  • -l Не обходить дерево каталогов, работать только в текущем рабочем каталоге. @macro std-option-R{verb}
  • -R \verb\ каталоги рекурсивно. По умолчанию это именно так. См. section Рекурсивное поведение. @macro std-option-A
  • -A Очистить все прилипшие метки, даты и ключи. См. section Липкие метки, а также section Подстановка ключевых слов.
    -D дата
    Использовать самую свежую ревизию, сделанную не позже чем дата. В данном случае дата – это одиночный аргумент, являющийся описанием прошедшей даты. Указанная дата становится липкой, когда вы используете её, чтобы сделать копию файла с исходным текстом, то есть, когда вы извлекаете рабочий файл, используя `-D’, то CVS запоминает указанную дату, так что последующие команды обновления, выполненные в том же каталоге, будут использовать ту же дату (дальнейшая информация по липким меткам и датам находится в see section Липкие метки). Ключ `-D’ доступен совместно с командами checkout, diff, export, history, rdiff, rtag и update. (Команда history использует этот ключ немного отличающимся способом; see section Ключи команды history). CVS поддерживает большое множество форматов даты. Самыми стандартными являются ISO-8601 (от Международной Организации по Стандартизации) и стандарт электронной почты (описанные в RFC822, с поправками в RFC1123). Даты в формате ISO-8601 имеют множество вариантов, но вот несколько примеров:
    1972-09-24
    1972-09-24 20:05
    
    Вероятно, вы совсем не желаете увидеть перечисление полного списка форматов, описанных в ISO8601 :-). Вдобавок к датам, разрешенным в электронной почте в Интернет, CVS также позволяет пропускать некоторые поля. Например:
    24 Sep 1972 20:05
    24 Sep
    
    Считается, что дата находится в местной временн’ой зоне, если только таковая не задана явно. Предпочтительными являются два формата представления данных. Однако же, CVS в настоящее время поддерживает широкий диапазон других форматов представления даты. Они нарочно не документируются здесь, а будущие версии CVS могут уже не поддерживать их. Одним из таких форматов является месяц/день/год. Такой взаимный порядок дня и месяца может смутить некоторых, например, `1/4/96’ — это четвертое января, а не первое апреля. Не забудьте написать аргумент команды `-D’ в кавычках, чтобы ваша оболочка не посчитала пробелы разделителями аргументов. Команда, использующая ключ `-D’, может выглядеть так:
    $ cvs diff -D “1 hour ago” cvs.texinfo
    
    -f
    Когда вы задаёте команде CVS конкретную дату или метку, то эта команда обычно игнорирует файлы, не содержащие заданной метки (или не существовавшие на указанный момент времени). Используйте ключ `-f’, если вы хотите, чтобы файлы извлекались, даже если они не совпадают с меткой или со временем, в этом случае будет использована самая свежая ревизия файла. `-f’ доступна с командами annotate, checkout, export, rdiff, rtag, и update. Предупреждение: Команды commit и remove также имеют ключ `-f’, но он имеет другое поведение. See section Ключи команды commit, а также section Удаление файлов.
    -k kflag
    Изменить обработку ключевых слов по умолчанию. See section Подстановка ключевых слов, о значении kflag. Указанное значение kflag становится липким, когда вы создаёте личную копию файла. Это означает, что когда вы используете этот ключ вместе с командами checkout или update, то CVS связывает значение kflag с файлом, и использует это значение при последующих командах обновления этого файла, если вы не укажете обратного. Ключ `-k’ доступен с командами add, checkout, diff, import и update. @std-option-l Предупреждение: это не тот глобальный ключ `-l’, который вы указываете слева от команды CVS! Доступен с командами annotate, checkout, commit, diff, edit, editors, export, log, rdiff, remove, rtag, status, tag, unedit, update, watch, и watchers.
    -m “сообщение”
    Использовать “сообщение” в качестве журнальной записи, вместо того, чтобы запустить редактор. Флаг доступен с командами add, commit и import.
    -n
    Не выполнять соответствующие программы при выполнении команд `checkout’, `commit’ и `tag’. (В базе данных модулей могут быть указаны программы, которые нужно выполнить при выполнении одной из этих команд, а этот ключ используется для того, чтобы избежать этого). Предупреждение: этот флаг – не тот глобальный флаг `cvs -n’, который задаётся слева от команды CVS! Флаг доступен с командами checkout, commit, export и rtag.
    -P
    Удалять пустые каталоги. См. section Удаление каталогов.
    -p
    Выдать файлы, извлеченные из репозитория, на стандартный вывод, а не записывать их в текущем каталоге. Флаг доступен с командами checkout и update.
    -R
    Рекурсивно обрабатывать каталоги. Включено по умолчанию. Доступно с командами annotate, checkout, commit, diff, edit, editors, export, rdiff, remove, rtag, status, tag, unedit, update, watch и watchers.
    -r метка
    Использовать ревизию, указанную в параметре метка, вместо головной ревизии (HEAD) по умолчанию. Помимо меток, созданных с помощью команд tag и rtag, всегда доступны две специальные метки: `HEAD’ ссылается на самую свежую ревизию, находящуюся в репозитории, а `BASE’ ссылается на ревизию, которую вы извлекли в текущий рабочий каталог. Указанная метка становится липкой, если вы используете checkout или update, чтобы создать собственную копию файла: CVS запоминает метку и продолжает использовать её при дальнейших командах обновления, пока вы не укажете обратного (See section Липкие метки, где можно найти дополнительную информацию о о липких метках/датах). Метка может быть номером ревизии или именем. See section Метки ревизий. Задание глобального ключа `-q’ вместе с ключом `-r’ часто бывает полезным, чтобы избежать предупреждающих сообщений о том, что RCS-файл не содержит указанной метки. Предупреждение: не перепутайте этот ключ с глобальным ключом `cvs -r’, который вы пишете слева от команды CVS! Ключ `-r’ доступен с командами checkout, commit, diff, history, export, rdiff, rtag и update.
    -W spec
    Задаёт имена файлов, которые нужно отфильтровать. Этот ключ можно использовать в командной строке несколько раз. spec может быть шаблоном имени файла, таким же, который можно использовать в файле `.cvswrappers’. Ключ доступен с командами import и update.


    Go to the first, previous, next, last section, table of contents.

  • Comments