|

Хакеры выбирают CVS
Xakep, номер #044, стр. 044-034-2
cvs commit <имя файла/каталога> - передает локальную версию файлов или каталогов на сервер CVS.
cvs add <имя файла/каталога> - добавляет новый файл или папку на сервере CVS. cvs remove <имя файла/каталога> - удаляет файл или папку с сервера CVS. На самом деле данная команда не удаляет файл, у тебя сохранится доступ к предыдущим версиям.
cvs status <имя файла> - показывает состояние модификации локальной версии файла.
cvs diff <имя файла> - показывает различия между двумя версиями файла. По умолчанию выводятся различия между локальной и удаленной версиями.
Пример сеанса работы
Допустим, у нас есть два разработчика: Вася и Петя, которые работают над проектом гостевой книги. Также предположим, что руководитель проекта установил сервер CVS, создал в банке данных модуль с именем GuestBook и соответствующим образом установил значения настроек программы CVS. Сначала разработчики должны "захватить" копию модуля GuestBook с сервера, для этого используется команда cvs checkout, которая создает локальную папку с названием, совпадающим с именем модуля.
vasya@dev:mnt/daten/home/vasya > cvs login
CVS password: <password>
vasya@dev:/home/vasya > cvs checkout guestbook
cvs server: Updating guestbook
U guestbook/messages.pl
U guestbook/signup.pl
Теперь у обоих разработчиков есть локальная копия модуля, можно приступать к работе. Заранее Вася и Петя договорились, что один будет работать над файлом messages.pl, выводящим сообщения в гостевой книге, а другой - над signup.pl, необходимым для добавления сообщения в гостевую книгу. Прими во внимание, что CVS не может заменить общение между членами команды! После того как Вася закончил свою часть работы, он собирается вернуть файл в центральный банк данных. Поскольку кроме него этот файл никто не редактировал, можно ограничиться одной командой:
vasya@dev:/home/vasya/guestbook > cvs commit messages.pl
Теперь система запустит стандартный текстовой редактор (для Unix это чаще vi, а для Windows это notepad) и запросит сообщение, которое будет связано с данной версией файла. Это сообщение могут видеть другие разработчики, поэтому оно должно точно описывать внесенные изменения. Иногда команды разработчиков используют даже эти сообщения для автоматической передачи заказчику подробного отчета о проделанной работе. В любой момент можно запросить состояние файла с помощью команды:
vasya@dev:/home/vasya/guestbook > cvs status messages.pl
Результат данной команды показывает, что локальная копия файла messages.pl - самая свежая. В системе также предусмотрены следующие обозначения: Up-to-date - локальная копия идентична копии на сервере CVS. Locally Modified - локальная копия была изменена и еще не принята сервером. Locally Added - файл только что был добавлен в локальную папку. Locally Removed - файл только что был удален из локальной папки. Needs Checkout or Needs Patch - версия в удаленном банке данных более новая, чем локальная, которую нужно обновить. Needs Merge - версия в удаленном банке данных более новая, чем локальная копия, которая была модифицирована. Это приведет к слиянию версий при обновлении. Unknown - файл не находится под контролем системы CVS.
Назад на стр. 044-034-1 Содержание Вперед на стр. 044-034-3
|