2. Что изменяется при использовании CVS

Когда репозиторий Borges интегрирован в среду CVS, изменяется поведение некоторых целей и становятся доступными некоторые другие. Мы подробно опишем здесь эти особенности.

Подсказка

Если вы предпочитаете, чтобы Borges не выполнял никаких команд CVS, даже если вы работаете в среде CVS, добавьте опцию CVS=no в свои командные строки make.

2.1. Команды с изменённым поведением

В основном некоторые команды, добавляющие в проект новые шаблоны, автоматически добавляют эти новые файлы в CVS.

Подсказка

Если вы не хотите дублировать свои изменения на сервер CVS при выполнении команд локально, просто добавьте опцию CVS=no в свою командную строку при запуске представленных ниже команд. Не забудьте затем вручную зафиксировать свои изменения на CVS.

adddoc

При добавлении нового документа все файлы шаблонов, созданные Borges'ом (объекты, модули, каталоги с изображениями и т.д.), автоматически добавляются и фиксируются в CVS. То же самое происходит с master.top.xml и всеми необходимыми Makefile'ами. Всё это выполняется для всех активных языков.

addlang

Здесь происходит то же самое для всех модулей и объектов, необходимых для всех документов.

alltemplates

Это цель, выполняемая в каталоге супердокумента, создаёт новые модули шаблонов для всех языков и добавляет их в CVS. Это полезно, если вы только что добавили новые модули в существующий супердокумент.

module.revision TYPE=pproof

Когда модуль переходит в состояние pproof (или любое другое, названное на этапе 2translate), его содержимое копируется в модули перевода. Затем Borges автоматически зафиксирует модули перевода в CVS.

module.revision

Когда вы обновляете ревизию модуля (даже .todo), она автоматически фиксируется со стандартным сообщением, показывающим выполненную задачу и участника. Вы можете переопределить это сообщение по умолчанию, указав свой собственный журнал изменений в необязательном параметре CVSLOG.

2.2. Новые полезные команды

Появились некоторые новые команды для упрощения управления источниками CVS из Borges.

checkout

Эта цель извлекает последнюю версию из CVS и перенастраивает репозиторий.

cvsinit

Эта цель импортирует текущий репозиторий Borges на сервер CVS. Смотрите Раздел 1, «Создание нового проекта в CVS».

master.top.commit

Эта цель, выполненная в каталоге супердокумента, зафиксирует модифицированный супердокумент (master.top.xml) в CVS, предварительно полностью проверив его правильность.

<модуль>.commit

Эта цель, выполненная в каталоге модулей (напр., в modules/ru/), зафиксирует изменённый модуль (<модуль>.xml) в CVS, предварительно полностью проверив его правильность.

commit [modules="модуль1 модуль2 ..."]

Эта цель, выполненная в каталоге модулей (напр., в modules/ru/), проверит правильность и зафиксирует все изменённые модули в текущем каталоге. С использованием опции modules действие будет выполнено только над указанными модулями.

<изображение.расш>.commit

Эта цель, выполненная в каталоге изображений (напр., в images/ru/), добавит и зафиксирует изменённое изображение (<изображение.расш>) в CVS, предварительно полностью проверив его правильность.

<объект>.commit

Эта цель, выполненная в каталоге объектов (напр., в entities/ru/ или manuals/My_Book/ru/), добавит и зафиксирует изменённый файл объектов (<объект>.ent) в CVS предварительно полностью проверив его правильность.

Подсказка

Если вы предпочитаете не указывать журнал изменений в редакторе CVS (обычно vi) всякий раз, когда вы фиксируете файл в CVS, вы можете указать свои комментарии прямо в командной строке, благодаря опции CVSLOG. Например,

make мой_модуль.commit CVSLOG="Fixed the foo option syntax"

непосредственно зафиксирует изменения, сделанные в модуле mymodule, с указанным changelog'ом, не открывая при этом текстовый редактор.