18.12. Обновление рабочих файлов в CVS

Проблема
Вы работаете над общим проектом и хотите быть уверены в том, что первое извле чение файлов из репозитария обновляет все содержимое «песочницы» с учетом
изменений, внесенных другими пользователями.
Решение
В начале дня выполните из «песочницы» команду update с ключом -n (Not really):
$ cvs -n update -dP
cvs update: Updating
cvs update: Updating CVSROOT
cvs update: Updating project
M project/oidfile
? project/oldfile
Команда показывает, какие файлы различаются, и выводит информацию о со стоянии каждого файла. Чтобы синхронизировать «песочницу» с репозитарием,
выполните команду заново без ключа -п. Команда выполнит слияние (или попы тается выполнить) двух наборов файлов.
Для получения расширенной информации выполните следующую команду:
$ cvs diff
Команда выводит построчную информацию об изменениях.
Комментарий
Регулярное выполнение команды update обеспечивает синхронизацию локальных
рабочих копий с копиями из репозитария. Если вас раздражают изменения со сторо ны других пользователей (что является не недостатком CVS, а следствием плохого
управления проектом), вы можете всегда сначала просмотреть их. Помните: когда
в ходе редактирования файл достигает состояния, которое бы вам хотелось сохра нить, занесите его в репозитарий. Не оставляйте его лежать в «песочнице» — сис тема CVS существует как раз для того, чтобы хранить многие версии одного файла.
Возможные состояния файла:
LJ — файл был успешно обновлен;
А — файл был добавлен, но изменения не были закреплены;
R — файл был удален, по изменения не были закреплены;
М — файл в репозитарий отличался от копии в «песочнице», и изменения были
успешно объединены;
С — между копией в репозитарий и копией в «песочнице» существует конф ликт, требующий вмешательства со стороны пользователя;
304 Глава 18. Управление версиями
? — файл находится в рабочем каталоге, но отсутствует в репозитарии, и CVS
не знает, что с ним делать. Обычно это происходит при создании нового файла,
еще не включенного в CVS.
См. также
Раздел 18.7; домашняя страница CVS (http://www.cvshome.org); раздел 18.8.