Наблюдение - название особенности CVS позволяющей информировать пользователей хранилища, когда разработчик начинает редактирование файла. Для использования наблюдения необходимо, чтобы файл
был установлен корректно. Он не обсуждается здесь, если вы нуждаетесь в информации об его установке обратитесь к одной из книг, перечисленных в приложении. $CVSROOT
/CVSROOT/notify
Основная поддержка наблюдения - шесть пунктов меню.
Чтобы добавить наблюдение к одному или нескольким файлам, используйте меню → . В диалоге, вы выбираете типы событий, поддерживаемые CVS. Например, если вы хотите получать уведомления когда файл передаётся, выберите параметр и . если вы хотите получать уведомления в любом случае выберите параметр . При принятии этого диалога будет выполнена команда
cvs watch add -a commit имена файлов
или с подобной опцией, в зависимости от событий, которые вы хотите наблюдать.
Если вы более не интересуетесь некоторыми файлами, вы можете удалить наблюдение с них. Для этого используйте меню → . Далее в диалоге вы указываете те-же параметры, что и при добавлении контрольной точки. Когда вы принимаете этот диалог Cervisia выполнить команду
cvs watch remove имена файлов
возможно с опцией -a
для выбранных событий.
Наконец, вы можете получить список людей, которые наблюдают несколько файлов. Выберите в меню → . Будет использована команда
cvs watchers имена файлов
В обычной практике использования CVS каждый разработчик работает в своей песочнице. Когда он начинает редактировать файл никто об этом не знает, пока он не выполнить передачу.
Для некоторых групп разработчиков, эта модель разработки является неприемлемой. Они хотят сразу знать о работающем над файлом человеке, когда он только начинает. Это может быть достигнуто следующими командами CVS. Когда вы начинаете редактировать файл, выберите в главном окне файл и в меню → . Это выполнить команду
cvs edit имена файлов
Этот отошлёт уведомления всем, кто установил наблюдение на редактирование
этого файла. Это также регистрирует вас как редактора этого файла. Вы можете просмотреть список редакторов файла используя меню → . Это эквивалентно команде
cvs editors имена файлов
Сессия редактирования автоматически закончится когда вы передадите файл. В этот момент всем, зарегистрировавшим наблюдение на этом файле, будет отослано уведомление о Окончании редактирования фалов
. Конечно, вы можете прервать сеанс редактирования файла и вернуться к его предыдущей версии. Это делается с использованием меню → . Обратите внимание, что Cervisia не будет спрашивать подтверждения, и вся выполненная работа в этом файле с момента использования меню → , будет потеряна. При этом Cervisia использует команду
echo y | cvs unedit имена файлов
Пока мы рассматриваем случай, где редактирование и окончание редактирования используется разработчиками добровольно. Кроме того CVS поддерживает и модель с принудительным использованием этих команд. Команда, используемая для переключения в принудительную модель - cvs watch on, которую мы не будем рассматривать далее, потому что она используется преимущественно администраторами репозиториев. Однако, важным моментом является то, что при использовании проектом редактирования, рабочие копии доступны только для чтения. (если вы не используете уловки типа chmod). Только когда вы используете меню → , файл становится доступным для записи. И становится только для чтения, когда вы используете → .
Интерфейс редактора Cervisia позволяет использовать в проекте наблюдения принудительно, несколькими способами. Если вы запустили редактор с файлом только для чтения двойным щелчком мыши или использовав меню → , вы не сможете позже сохранить внесённые изменения. Каждый раз, когда вы хотите внести изменения в файл, вы должны выполнить команду cvs edit, чтобы люди, наблюдающие файл получили уведомление о том, что вы работаете с файлом.
В этом случае желательно использовать опцию → . Теперь, каждый раз, когда вы начинаете редактирование файл двойным щелчком мыши Cervisia выполнить команду cvs edit перед загрузкой этого файла в редакторе. Когда вы закончите редактирование выполните передачу фалов, и переданные файлы станут опять доступными только для чтения.