› del readme.txt
› cvs remove readme.txt
cvs remove: scheduling `readme.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently
›
Или попросить сделать это CVS, используя ключ -f для команды remove
› cvs remove -f readme.txt
cvs remove: scheduling `readme.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently
›
Если же после удаления файла вы передумали и решили всё-таки не удалять его, выполнение команды add воскресит файл:
› cvs add readme.txt
U readme.txt
cvs add: readme.txt, version 1.1.1.1, resurrected
WINCVS Чтобы пометить файлы на удаление, воспользуйтесь командой Remove из меню Modify. Удаление локального файла произойдёт автоматически.
Помните, команды add и remove не производят операций с репозиторием (за исключением воскрешения файла), они только помечают их для выполнения операции во время отправки изменений в репозиторий.
Отправка изменений в репозиторий
После изменения исходных текстов в локальном каталоге необходимо отправить изменения в репозиторий. Изменения для каждого файла обрабатываются отдельно, поэтому редакция файла изменится только в том случае, если его содержимое отличается от того, что хранится в репозитории. Для сохранения результатов работы в репозитории используется команда commit. Давайте подробно рассмотрим, что происходит при выполнении этой команды:
› cvs commit -m “comment”
cvs commit: Examining.
Checking in readme.txt;
cvsroot/test/readme.txt,v ‹- readme.txt
new revision: 1.2; previous revision: 1.1
done
RCS file: cvsroot/test/todo.txt,v
done
Checking in todo.txt;
cvsroot/test/todo.txt,v ‹- todo.txt
initial revision: 1.1 done
›
Ключ -m “comment” задаёт комментарий к изменениям, чтобы впоследствии можно было легко определить, чем именно данная редакция отличается от предыдущей. Поскольку в любой момент можно посмотреть различие в тексте между любыми редакциями, нет смысла указывать, какие строчки добавлены или изменены. Цель комментария - описание результатов работы в целом, а не конкретных изменений. Комментарии являются очень важной частью работы команды, поскольку позволяют другим разработчиком узнать, что именно вы сделали, и скоординировать свою работу соответственно. Если кому-то интересны детали вашей работы, он может заглянуть в код, сравнить редакции и разобраться во внесенных изменениях. В конце концов, он может спросить Вас лично.
ПРЕДУПРЕЖДЕНИЕ CVS не заменяет управления, общения и других процессов, которые должны происходить при совместной разработке программного продукта несколькими участниками. CVS предназначен для отслеживания редакций исходных текстов и централизованного хранения проектных файлов.
Получив команду commit, CVS начинает изучение рабочего каталога. Пользуясь информацией, сохранённой в каталогах с именами «CVS», он определяет, какие файлы были изменены и выполняет для каждого операцию обновления. Для этого он получает из репозитория редакцию файла, находившуюся в рабочем каталоге до изменений, и сравнивает содержимое. При наличии изменений CVS создаёт в репозитории новую редакцию для этого файла, в которую внесены соответствующие поправки. Операция выполняется рекурсивно для всех подкаталогов.
WINCVS Чтобы отправить файлы в репозиторий, используйте команду Commit из меню Modify
В нашем примере изменился файл readme.txt и добавился файл todo.txt. После выполнения команды commit в репозитории создаётся новый файл для отслеживания редакций файла todo.txt, и текущему его содержимому присваивается номер 1.1. Измененному содержимому файла readme.txt присваивается номер 1.2. Мы по-прежнему можем получить редакцию 1.1 файла readme.txt, если нам это потребуется, но об этом я расскажу чуть позже.
Обновление рабочей копии