CVS предоставляет широкий диапазон команд (cvs_command in the Synopsis), каждая из которых, как правило, имеет богатый набор опций, призванные удовлетворить многие потребности управления исходным кодом в распределенных окружениях. Однако, Вы не обязаны овладеть каждой деталью чтобы делать полезную работу с помощью CVS; на самом деле, достаточно пяти команд для использования репозитория исходного кода. Команды CVS, используемые чаще всего: checkout, update, add, remove, commit и diff.
cvs checkout модули... Необходимая подготовка для выполнения большинства последующей работы CVS: создает Вашу личную копию исходного кода для "модулей" (именнованного набора исходных кодов; здесь можно также использовать путь относительный к местоположению репозитория). Ваша работа с этой копией никак не будет пересекаться с работой других разработчиков. Всегда создается по меньшей мере один уровень подкаталогов. (Для Вашего удобства вывод программы также переведен на русский язык. -- Прим. перев.)
bash$ cvs --help checkout Вызов: cvs checkout [-ANPRcflnps] [-r rev | -D дата] [-d dir] [-j rev1] [-j rev2] [-k kopt] модули... -A Сбросить липкие тэги/дату/kopts. -N Если задано -d, не укорачивать пути модулей. -P Удалять пустые каталоги. -R Обрабатывать каталоги рекурсивно. -c "cat" базу данных модулей. -f Вынудить совпадение редакции, если тэг/дата не найдена. -l Только локальный каталог, не рекурсивно. -n Не запускать программу модуля (при ее наличии). -p Извлечь файлы и отправить на стандартный вывод (избегает липкость). -s Подобен -c, но включает статус модуля. -r rev Извлечь редакцию или тэг. (включает -P) (липкий) -D date Извлечь редакцию указанной даты. (включает -P) (липкий) -d dir Извлечь в каталог dir вместо каталога с именем модуля. -k kopt При извлечении использовать опцию RCS kopt -k. -j rev Объединить изменения, сделанные между текущей редакцией и rev. (Задайте глобально опцию --help для получения списка остальных опций справки) |
cvs update Выполните эту команду находясь в Вашем личном каталоге исходных кодов, когда Вы хотите обновить Ваши копии исходных файлов после изменений, внесенных другими разработчиками в исходный код внутри репозитория.
bash$ cvs --help checkout Вызов: cvs checkout [-ANPRcflnps] [-r rev | -D дата] [-d dir] [-j rev1] [-j rev2] [-k kopt] модули... -A Сбросить липкие тэги/дату/kopts. -N Если задано -d, не укорачивать пути модулей. -P Удалять пустые каталоги. -R Обработать каталоги рекурсивно. -c "cat" базу данных модулей. -f Вынудить совпадение редакции, если тэг/дата не найдена. -l Только локальный каталог, не рекурсивно. -n Не запускать программу модуля (при ее наличии). -p Извлечь файлы и отправить на стандартный вывод (избегает липкость). -s Подобен -c, но включает статус модуля. -r rev Извлечь редакцию или тэг. (включает -P) (липкий) -D date Извлечь редакцию указанной даты. (включает -P) (липкий) -d dir Извлечь в каталог dir вместо каталога с именем модуля. -k kopt При извлечении использовать опцию RCS kopt -k. -j rev Объединить изменения, сделанные между текущей редакцией и rev. (Задайте глобально опцию --help для получения списка остальных опций справки) bash$ cvs --help update Вызов: cvs update [-APdflRp] [-k kopt] [-r rev|-D дата] [-j rev] [-I ign] [-W spec] [файлы...] -A Сбросить липкие тэги/дату/kopts. -P Удалять пустые каталоги. -d Создавать каталоги, как делает checkout. -f Вынудить совпадение редакции, если тэг/дата не найдена. -l Только локальный каталог, не рекурсивно. -R Обработать каталоги рекурсивно. -p Отправить обновления на стандартный вывод (избегает липкость). -k kopt При извлечении использовать опцию RCS kopt -k. -r rev Обновить используя указанную редакцию/тэг. (липкий) -D date Указать дату с которой извлечь обновления. (липкий) -j rev Объединить изменения, сделанные между текущей редакцией и rev. -I ign Больше файлов для игнорирования (! для сброса). -W spec Строка задания оберток. (Задайте глобально опцию --help для получения списка остальных опций справки) |
cvs add файл... Воспользуйтесь этой командой для внесения новых файлов в CVS-записи Вашего рабочего каталога. Файлы будут добавлены в репозиторий в следующий раз, как Вы запустите "cvs commit". Заметьте, что для занесения новых исходных кодов в репозиторий следует использовать команду "cvs import". "cvs add" используется только для файлов, новых для уже извлеченного (checked-out) модуля.
bash$ cvs --help add Вызов: cvs add [-k rcs-kflag] [-m сообщение] файлы... -k Использовать "rcs-kflag" для добавления файла с указанным kflag. -m Использовать "сообщение" для лога о создании. (Задайте глобально опцию --help для получения списка остальных опций справки) |
cvs remove файл... Эта команда (после удаления перечисленных файлов) предназначена для заявления желания уничтожить файлы из репозитария. Для остальных разработчиков удаление возымеет действие после выполнения "cvs commit".
bash$ cvs --help remove Вызов: cvs remove [-flR] [файлы...] -f Удалить файл перед его исключением. -l Обработать только этот каталог (не рекурсивно). -R Обработать каталоги рекурсивно. (Задайте глобально опцию --help для получения списка остальных опций справки) |
cvs commit файл... Воспользуйтесь этой командой, когда захотите "опубликовать" Ваши изменения для остальных разработчиков, посредством их включения в репозиторий исходных кодов.
bash$ cvs --help commit Вызов: cvs commit [-nRlf] [-m msg | -F logfile] [-r rev] файлы... -n Не запускать программу модуля (при ее наличии). -R Обработать каталоги рекурсивно. -l Только локальный каталог (не рекурсивно). -f Вынудить фиксацию файла; отключает рекурсию. -F file Читать лог-сообщения из файла. -m msg Лог-сообщение. -r rev Фиксировать в этой ветке или этом стволе редакции. (Задайте глобально опцию --help для получения списка остальных опций справки) |
cvs diff файл... Показывает различия между файлами в рабочем каталоге и репозитории исходных кодов. (Не изменяет ни репозиторий ни рабочий каталог.)
bash$ cvs --help diff Usage: cvs diff [-lNR] [rcsdiff-options] [[-r rev1 | -D date1] [-r rev2 | -D date2]] [файлы...] -l Только локальный каталог, не рекурсивно. -R Обработать каталоги рекурсивно. -D d1 Редакция различий между указанной датой и рабочим файлом. -D d2 Различия между rev1/date1 и date2. -N Включить различия между добавленными и исключенными файлами. -r rev1 Редакция различий между rev1 и рабочим файлом. -r rev2 Различия между rev1/date1 и rev2. --ifdef=arg Вывести различия в формате ifdef. (обратитесь к документации Вашей программы diff насчет rcsdiff-options. Самым популярным является -c для получения различий с контекстом, но существует много других опций). (Задайте глобально опцию --help для получения списка остальных опций справки) |
Emacs -- мощный редактор и поддерживает CVS/RCS, особенно для объединения редакций и поиска различий. Основной сайт Emacs расположен здесь: http://www.emacs.org.