Кто над чем работает: мониторинг изменений

В CVS предусмотрена схема извещений о том, что кто-то работает над определенным файлом. Эта функция называется монитор. Включив мониторинг файла, вы будете получать извещения CVS по электронной почте (или как-то еще) о том, что кто-то изменяет этот файл.

Итак, эта функция CVS включает две составных части: мониторы и изменения. Монитор задает, за какими файлами следует осуществлять наблюдение. Изменения - это способ извещения сервера CVS (то есть, всех разработчиков) о том, что вы собираетесь работать с файлом.

Функциональность изменений полезна сама по себе, даже без включения мониторов и в отсутствие множества заинтересованных разработчиков. Причина этого состоит в том, что вы немедленно будете извещены о том, что кто-то уже изменяет файл, если вы начинаете его изменять сами. Поскольку большинство разработчиков хотели бы избежать необходимости объединения своих изменений перед их внесением в хранилище, то чаще всего изменения сами по себе уже обеспечивают такую возможность. Для того чтобы использовать только изменения, не нужно ничего настраивать на сервере, в то время как для мониторов это необходимо. Сверх этого мониторы лишь обеспечивают отправку уведомлений об изменениях соответствующего файла по электронной почте.

Поэтому поддержка изменений встроена в Совместную работу CVS, а поддержка мониторов - нет.

Настройка мониторов

Как уже сказано, Совместная работа CVS не поддерживает мониторы. Для включения этой функции обратитесь к документации cvs. Ниже приведена краткая сводка того, что нужно будет сделать:

  1. Во-первых, вы или администратор CVS должны изменить файл CVSROOT/notify. Подробные сведения о настройке это файла для мониторов приведены в документации CVS.
  2. Далее, для каждого файла, для которого требуется включить монитор, выполните команду "cvs watch add <имя-файла>". Если <имя-файла> - это имя каталога, то монитор будет включен для всех файлов в каталоге.

Настройка проекта на использование мониторов и изменений

Мониторы и изменения - это необязательные функции CVS. Для того чтобы их использовать, включите эту опцию на странице параметров Совместная работа > CVS > Мониторинг изменений. Выберите "Настроить проекты на включение мониторов изменений при изъятии", примените изменения и загрузите проект из хранилища. Все изъятые файлы проекта будут доступны только для чтения. Тем самым клиент CVS будет знать, какие файлы редактируются в данный момент (они доступны для записи). Если проект был уже изъят до того, как была включена эта опция, то его можно либо изъять заново, либо включить на странице свойств CVS проекта опцию "Включить мониторинг изменений для этого проекта". При выполнении любой из этих операций файлы проекта станут доступны только для чтения.

Включение изменений

Хотя в большинстве клиентов CVS изменения требуется включать явно, Совместная работа CVS автоматически создает изменение, как только файл был изменен. Эта функция встроена в Eclipse, поэтому при вводе текста в текстовом редакторе, выполнении рефакторинга Java и пр. изменение CVS будет создано автоматически. Явным образом создать изменение можно в контекстном меню ресурса - пункт Совместная работа > Изменение.

Если при создании изменения кто-то уже редактирует этот файл, вы будете немедленно извещены об этом. Кроме того, сервер CVS известит по электронной почте всех, кто создал монитор для этого файла. Поскольку мониторы только извещают вас по электронной почте, изменения даже без мониторов являются полезным и часто применяемым в работе инструментом.

При необходимости можно выключить автоматическое создание изменений. Это означает, что для каждого файла потребуется выполнять действие Совместная работа > Изменение вручную. Для этого на странице Совместная работа > CVS > Мониторинг изменений включите функцию "Изменять файл, не извещая сервер".

Наконец, можно просмотреть список редакторов файла, выбрав в контекстном меню файла пункт Совместная работа > Показать редакторы.

Выключение изменений

Точно так же как CVS информируется о том, что вы изменяете файл, необходимо известить CVS о том, что работа над файлом завершена. Это называется выключение изменений. Тем самым при просмотре списка редакторов файла можно будет узнать, продолжает ли какой-либо разработчик работать над файлом, или нет. Это можно сделать двумя способами:

 

Связанные концепции
Мониторы изменений

Коллективное программирование с помощью CVS

Связанные справочники Связанные справочники
CVS