После того как вы выполнили команду checkout, чтобы создать рабочий каталог,
который содержит вашу персональную копию исходных текстов из общего
хранилища, другие разработчики продолжают работать над содержимым
хранилища. Естественно, при этом меняются исходные тексты в общем
хранилище, в том числе и те тексты, которые вы используете в своей работе.
Это означает, что время от времени, когда вам это удобно, необходимо
приводить содержимое вашего рабочего каталога (включая содержание файлов)
в соответствие с состоянием общего хранилища.
Эта операция производится с помощью команды update.
Здесь приведены стандартные параметры команды update.
-D date
Использовать наиболее свежую версию, но не позже
даты date.
Этот параметр липкий и подразумевает -P.
-f
Полезно только вместе с параметрами -Ddate или
-rtag. Если не найдено подходящих версий, то производится поиск
наиболее
свежих версий.
-k kflag
Обрабатывать ключевые слова RCS в
соответствии с kflag.
Смотрите описание co(1). Этот параметр липкий: будущие изменения
этого файла в этом рабочем каталоге будут использовать то же значение
kflag.
Команда status показывает установленные значения липких (sticky)
тегов. Например,
cvs status CVS_cvscat.tex
в ответ будет напечатано что-то похожее на следующее.
Локально; выполнять только в текущем рабочем каталоге (без подкаталогов).
-P
Удалить пустые каталоги.
-p
Вывести файлы на стандартное устройство вывода, например,
направить в следующий фильтр.
-R
Выполнять рекурсивно. Это есть умолчание.
-r tag
Найти версию tag. Этот параметр связан;
предполагает
использование -P.
Далее следуют специальные параметры, которые могут использоваться с
командой update.
-A
Сбросить (reset) липкие значения: tag, date или значения установленные параметром -k.
-d
Создать любые каталоги, которые имеются в общем хранилище, но
отсутствуют в вашем рабочем каталоге. Обычно, update воздействует
только на те каталоги и файлы, которые уже находятся в вашем рабочем
каталоге.
Определить имена файлов, которые (имена) должны быть
отфильтрованы во время выполнения команды update. Этот параметр может
применяться несколько раз в одной команде.
-jrevision
Если параметр -j используется однократно,
то
следует выполнить слияние предыдущей версии с версией, которая описывается параметром
-j. Результат поместить в рабочий каталог. Термин предыдущая
версия означает общего предка версии, которая находится в рабочем
каталоге и версии, которая указана параметром -j.
Два параметра -j означают, что следует выполнить слияние изменений в версии,
описываемой первым параметром -j, с изменениями в версии,
описываемой вторым параметром -j, а результат записать в рабочий
каталог.
- Файл был модифицирован в вашем рабочем каталоге.
Обозначение
M может означать одно из двух состояний, в котором находится файл,
с которым вы работаете:
не было никаких модификаций этого файла в хранилище, а имеют место
только те изменения, что вы сами внесли в вашу копию файла в вашем рабочем каталоге;
имели место как изменения в хранилище так и изменения в вашем
рабочем каталоге, однако эти обе версии изменений были объединены без конфликтов в
вашем рабочем каталоге.
CVS будет выводить ряд сообщений, если она выполняет слияние вашей
работы и делает резервную копию (backup) вашего рабочего файла, сохраняя
тот вид, который он имел до выполнения команды update.
C FILE
- Встречен конфликт (перекрывающиеся изменения)
во время выполнения слияния ваших изменений в
вашем
рабочем каталоге в файле с именем FILE с изменениями, которые имели место в
хранилище.
Файл с именем FILE в вашем рабочем каталоге представляет собой вывод
команды rcsmerge(1) и имеется в двух версиях. Немодифицированная
копия файла с именем FILE также находится в вашем рабочем каталоге и
имеет имя .#FILE.REVISION, где REVISION есть версия в
стандарте RCS, с которой вы начали модификации. Разрешить конфликт можно так,
как
объяснено
в разделе
14.18.
Нижеследующая строка является неплохим примером использования команды update, чтобы посмотреть сразу все файлы в текущем рабочем каталоге
без какого бы то ни было изменения.
cvs -n -q update
Это может служить неплохим средством,
чтобы понять, что происходит с проектом.