Основы программирования в Linux - Мэтью Нейл
- Дата:08.09.2024
- Категория: Компьютеры и Интернет / Интернет
- Название: Основы программирования в Linux
- Автор: Мэтью Нейл
- Просмотров:0
- Комментариев:0
Шрифт:
Интервал:
Закладка:
$ <b>со -l important.c</b>
important.с,v --> important.c
revision 1.1 (locked) done
$
и загляните в каталог:
$ <b>ls -l</b>
-rw-r--r-- 1 neil users 225 2007-07-09 07:55 important.c
-r--r--r-- 1 neil users 453 2007-07-09 07:55 important.с,v
$
Теперь у вас появился файл для редактирования и внесения новых изменений. Выполните корректировку, сохраните новую версию и используйте команду ci еще раз для сохранения изменений. Секция вывода в файле important.c теперь следующая:
printf("Hello Worldn");
printf("This is an extra line added latern");
Примените ci следующим образом:
$ <b>ci important.с</b>
important.с,v <-- important.c
new revision: 1.2;
previous revision: 1.1
enter log message, terminated with single or end of file:
>> <b>Added an extra line to be printed out.</b>
>> <b>.</b>
done
$
ПримечаниеДля записи изменений и сохранения блокировки, разрешающей пользователю продолжить работу с файлом, следует вызвать команду ci с опцией -l. Файл будет автоматически снова извлечен в каталог для того же самого пользователя.
Вы сохранили обновленную версию файла. Если сейчас заглянуть в каталог, можно увидеть, что файл important.c снова удален.
$ <b>ls -l</b>
-r--r--r-- 1 neil users 635 2007-07-09 07:55 important.с,v
$
Команда rlogЧасто бывает полезно просмотреть сводку изменений, внесенных в файл. Сделать это можно с помощью команды rlog.
$ <b>rlog important.с</b>
RCS file: important.c,v
Working file: important.c
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
This is an important demonstration file
------------------------
revision 1.2
date: 2007/07/09 06:57:33; author: neil; state: Exp; lines: +1 -0
Added an extra line to be printed out.
------------------------
revision 1.1
date: 2007/07/09 06:54:36; author: neil; state: Exp;
Initial revision
==================================================================
$
В первой части дается описание файла и опций, используемых командой rcs. Далее команда rlog перечисляет версии файла, начиная с самой свежей, вместе с текстом, который вы вводите при сохранении версии. lines:+1-0 в версии 1.2 информирует вас о том, что была вставлена одна строка и ни одна строка не была удалена.
ПримечаниеУчтите, что время модификации файла записывается без учета летнего времени, чтобы избежать проблем при переводе часов.
Теперь, если вы хотите вернуть первую версию файла, можно запросить команду со, указав нужную версию.
$ <b>со -r1.1 important.c</b>
important.с,v --> important.c
revision 1.1
done
$
У команды ci тоже есть опция -r, которая присваивает номеру версии заданное значение. Например, команда
ci -r2 important.c
сохранит файл important.c как версию 2.1. Обе системы, RCS и SCCS, по умолчанию используют 1 как наименьший номер версии.
Команда rcsdiffЕсли вы хотите знать, чем отличаются две версии, можно применить команду rcsdiff:
$ <b>rcsdiff -r1.1 -r1.2 important.c</b>
=================================================
RCS file: important.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
11a12
> printf("This is an extra line added latern");
$
Вывод информирует вас о том, что была добавлена одна строка после исходной строки 11.
Обозначение версийСистема RCS может применять специальные строки (макросы) внутри исходного файла, помогающие отслеживать изменения. Наиболее популярны два макроса: $RCSfile$ и $Id$. Макрос $RCSfile$ замещается именем файла, а макрос $Id$ — строкой, обозначающей версию. Полный список поддерживаемых специальных строк можно найти в интерактивном руководстве. Макросы замещаются, когда версия файла извлекается из RCS-файла, и обновляются автоматически, когда версия регистрируется и сохраняется в RCS-файле.
Давайте в третий раз изменим файл и добавим несколько таких макросов:
$ <b>со -l important.с</b>
important.c,v --> important.с
revision 1.2 (locked)
- Вопросы истории: UNIX, Linux, BSD и другие - Федорчук Алексей Викторович "alv" - Прочая околокомпьтерная литература
- Linux Mint и его Cinnamon. Очерки применителя - Алексей Федорчук - Программное обеспечение
- Язык программирования C++. Пятое издание - Стенли Липпман - Программирование
- Аквариум. (Новое издание, исправленное и переработанное) - Виктор Суворов (Резун) - Шпионский детектив
- Интерфейс: новые направления в проектировании компьютерных систем - Джефф Раскин - Техническая литература