Чтение онлайн

на главную - закладки

Жанры

Основы программирования в Linux
Шрифт:

printf("Hello World\n");

printf("This is an extra line added later\n");

Примените

ci
следующим образом:

$ ci important.с

important.с,v <-- important.c

new revision: 1.2;

previous revision: 1.1

enter log message, terminated with single or end of file:

>> Added an extra line to be printed out.

>> .

done

$

Примечание

Для записи изменений и сохранения блокировки, разрешающей пользователю продолжить работу с файлом, следует вызвать команду

ci
с опцией
– l
. Файл будет автоматически снова извлечен в каталог для того же самого пользователя.

Вы сохранили обновленную версию файла. Если сейчас заглянуть в каталог, можно увидеть, что файл important.c снова удален.

$ ls -l

– r--r--r-- 1 neil users 635 2007-07-09 07:55 important.с,v

$

Команда rlog

Часто бывает полезно просмотреть сводку изменений, внесенных в файл. Сделать это можно с помощью команды

rlog
.

$ rlog important.с

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 информирует вас о том, что была вставлена одна строка и ни одна строка не была удалена.

Примечание

Учтите, что время модификации файла записывается без учета летнего времени, чтобы избежать проблем при переводе часов.

Теперь, если вы хотите вернуть первую версию файла, можно запросить команду

со
, указав нужную версию.

$ со -r1.1 important.c

important.с,v --> important.c

revision 1.1

done

$

У команды

ci
тоже есть опция
– r
, которая присваивает номеру версии заданное значение. Например, команда

ci -r2 important.c

сохранит файл important.c как версию 2.1. Обе системы, RCS и SCCS, по умолчанию используют 1 как наименьший номер версии.

Команда rcsdiff

Если вы хотите знать, чем отличаются две версии, можно применить команду

rcsdiff
:

$ rcsdiff -r1.1 -r1.2 important.c

=================================================

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 later\n");

$

Вывод информирует вас о том, что была добавлена одна строка после исходной строки 11.

Обозначение версий

Система RCS может применять специальные строки (макросы) внутри исходного файла, помогающие отслеживать изменения. Наиболее популярны два макроса:

$RCSfile$
и
$Id$
. Макрос
$RCSfile$
замещается именем файла, а макрос
$Id$
— строкой, обозначающей версию. Полный список поддерживаемых специальных строк можно найти в интерактивном руководстве. Макросы замещаются, когда версия файла извлекается из RCS-файла, и обновляются автоматически, когда версия регистрируется и сохраняется в RCS-файле.

Давайте в третий раз изменим файл и добавим несколько таких макросов:

$ со -l important.с

important.c,v --> important.с

revision 1.2 (locked)

done

$

Отредактируйте файл в соответствии с приведенным далее кодом:

#include <stdlib.h>

#include <stdio.h>

/*

 Это важный файл для управления данным проектом.

 В нем реализована каноническая программа "Hello World".

 Filename: $RCSfile$

*/

static char *RCSinfo = "$Id$";

int main {

 printf ("Hello World\n");

 printf("This is an extra line added later\n");

 printf("This file is under RCS control. Its ID is\n%s\n", RCSinfo);

 exit(EXIT_SUCCESS);

Поделиться:
Популярные книги

Перешагнуть пропасть

Муравьёв Константин Николаевич
1. Перешагнуть пропасть
Фантастика:
боевая фантастика
космическая фантастика
8.38
рейтинг книги
Перешагнуть пропасть

Изгой Проклятого Клана. Том 4

Пламенев Владимир
4. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 4

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Золотой ворон

Сакавич Нора
5. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Золотой ворон

Натиск

Осадчук Алексей Витальевич
12. Последняя жизнь
Фантастика:
аниме
фэнтези
попаданцы
6.20
рейтинг книги
Натиск

Бастард Императора. Том 12

Орлов Андрей Юрьевич
12. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 12

Неучтенный элемент. Том 10

NikL
10. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 10

Кукловод

Майерс Александр
4. Династия
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кукловод

Лекарь Империи

Карелин Сергей Витальевич
1. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи

География растений

Гумбольдт Александр
Классики естествознания
Научно-образовательная:
ботаника
7.50
рейтинг книги
География растений

На границе империй. Том 10. Часть 8

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 8

Точка Бифуркации IV

Смит Дейлор
4. ТБ
Фантастика:
героическая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Точка Бифуркации IV

Александри В. Стихотворения. Эминеску М. Стихотворения. Кошбук Д. Стихотворения. Караджале И.-Л. Потерянное письмо. Рассказы. Славич И. Счастливая мельница

Эминеску Михай
126. Библиотека всемирной литературы
Поэзия:
поэзия
5.00
рейтинг книги
Александри В. Стихотворения. Эминеску М. Стихотворения. Кошбук Д. Стихотворения. Караджале И.-Л. Потерянное письмо. Рассказы. Славич И. Счастливая мельница

Матабар VIII

Клеванский Кирилл Сергеевич
8. Матабар
Проза:
магический реализм
5.00
рейтинг книги
Матабар VIII