Рис. 9.1
Subversion
Subversion разработана как система управления версиями, представляющая собой отличную замену системы CVS в сообществе разработчиков и пользователей программного обеспечения с открытым исходным кодом. Она проектировалась как "улучшенная CVS", о чем говорится на исходной странице Subversion Web-сайта http://subversion.tigris.org/, и, следовательно, обладает большей частью функциональных возможностей системы CVS и очень похожим работающим интерфейсом.
Популярность Subversion определенно растет, особенно в среде совместно разрабатываемых проектов, в которых над созданием приложения многие программисты работают вместе в Интернете. Большинство пользователей Subversion подключаются к сетевому репозитарию, настроенному менеджерами, разрабатываемого проекта. Эта система не так широко используется для управления индивидуальными или небольшими групповыми проектами, для них система CVS все еще остается основным применяемым средством.
В табл. 9.3 сравниваются основные команды в системах CVS и Subversion, эквивалентные друг другу.
| CVS | Subversion |
|---|---|
cvs -d /usr/local/repository init | svnadmin create /usr/local/repository |
cvs import wrox/chap9-cvs | svn import cvs-sp file:///usr/local/repository/trunk |
cvs checkout wrox/chap9-cvs | svn checkout file:///usr/local/repository/trunk cvs-sp |
cvs diff | svn diff |
cvs rdiff | svn diff tag1 tag2 |
cvs update | svn status -u |
cvs commit | svn commit |
Полную документацию системы Subversion см. в интерактивной книге "Version Control with Subversion" ("Управление версиями с помощью Subversion") на Web-сайте http://svnbook.red-bean.com/.
Написание интерактивного справочного руководства
Если вы как часть задачи разрабатываете новую команду, вам следует создать интерактивное справочное руководство, описывающее ее работу. Как вы уже вероятно заметили, макет большинства страниц такого руководства следует жестко заданному шаблону следующего вида:
□ Header (Заголовок);
□ Name (Имя);
□ Synopsis (Краткий обзор);
□ Description (Описание);
□ Options (Опции);
□ Files (Файлы);
□ See also (См. также);
□ Bugs (Ошибки).
Вы можете пропустить разделы, которые не важны. Часто в конце справочного руководства появляется раздел "Author" (Автор).
Страницы справочного руководства в системах UNIX форматируются утилитой nroff или, как в большинстве систем Linux эквивалентом проекта GNU, утилитой groff. Обе они — разработки на основе более ранней команды roff или run-off. Вход утилиты nroff или groff — обычный текстовый файл за исключением того, что на первый взгляд синтаксис его непостижимо труден.
Без паники! Самый легкий способ написания новой программы в среде UNIX — начать с уже имеющейся программы и приспособить ее для своих целей, так же нужно поступать и с интерактивным справочным руководством.
В задачу данной книги не входит подробное объяснение множества опций, команд и макросов, которые может применять команда groff (или nroff). Вместо этого мы представляем простой шаблон, который вы можете позаимствовать и переделать в интерактивное справочное руководство для своего приложения.
Далее приведен исходный код страницы справочного руководства для приложения myapp, хранящийся в файле myapp.1.
.TH MYAPP 1
.SH NAME
Myapp \- A simple demonstration application that does very little.
.SH SYNOPSIS
.В myapp
[\-option ...]
.SH DESCRIPTION
.PP
\fImyapp\fP is a complete application that does nothing useful.
.PP
It was written for demonstration purposes.
.SH OPTIONS
.PP
It doesn't have any, but let's pretend, to make this template complete:
.TP
.BI \-option
If there was an option, it would not be -option.
.SH RESOURCES
.PP
myapp uses almost no resources.
.SR DIAGNOSTICS
The program shouldn't output anything, so if you find it doing so there's
probably something wrong. The return value is zero.
.SH SEE ALSO
The only other program we know with this little functionality is the
ubiquitous hello world application.