Внешние интерфейсы CVS
Для доступа к CVS-репозитариям существует множество графических внешних интерфейсов. Может быть, их лучшую коллекцию для разных операционных систем можно найти на Web-сайте http://www.wincvs.org/.Там есть клиентское программное обеспечение для ОС Windows, Macintosh и, конечно, Linux.
Клиентская часть CVS позволяет создавать репозитарий и управлять им, включая удаленный доступ к репозитариям по сети.
На рис. 9.1 показана хронология работы с нашим простым приложением, отображенная WinCVS на сетевом клиенте под управлением ОС Windows.
Рис. 9.1
Subversion разработана как система управления версиями, представляющая собой отличную замену системы CVS в сообществе разработчиков и пользователей программного обеспечения с открытым исходным кодом. Она проектировалась как "улучшенная CVS", о чем говорится на исходной странице Subversion Web-сайта http://subversion.tigris.org/,и, следовательно, обладает большей частью функциональных возможностей системы CVS и очень похожим работающим интерфейсом.
Популярность Subversion определенно растет, особенно в среде совместно разрабатываемых проектов, в которых над созданием приложения многие программисты работают вместе в Интернете. Большинство пользователей Subversion подключаются к сетевому репозитарию, настроенному менеджерами, разрабатываемого проекта. Эта система не так широко используется для управления индивидуальными или небольшими групповыми проектами, для них система CVS все еще остается основным применяемым средством.
В табл. 9.3 сравниваются основные команды в системах CVS и Subversion, эквивалентные друг другу.
Таблица 9.3
| 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.
Читать дальше