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.