Спостерігач — це загальноприйнята назва для функціональної можливості CVS, використання якої надає користувачам сховища змогу дізнаватися про зміну певного файла або про те, що розробник почав редагування файла. Використання спостерігачів потребує того, щоб файл
було налаштовано належним чином. Це налаштування ми не будемо тут обговорювати, якщо вам потрібні додаткові відомості щодо налаштування з точки зору адміністратора, прочитайте одну з книжок, назви яких наведено у додатку. $CVSROOT
/CVSROOT/notify
Для забезпечення підтримки спостереження Cervisia існує шість пунктів меню.
Щоб додати спостерігач до одного або декількох файлів, скористайтеся → . За допомогою діалогового вікна, яке буде відкрито, ви зможете обрати тип події, які підтримує CVS і про яку має сповіщати вас CVS. Наприклад, якщо ви бажаєте, щоб програма сповіщала вас лише про ті випадки, коли файл було передано, позначте пункти і . Якщо ви бажаєте отримувати сповіщення про будь-яку подію, яка стосується позначених файлів, позначте пункт . Після натискання кнопки програма виконає таку команду:
cvs watch add -a commit назви файлів
або подібний параметр, який залежить від подій, які ви обрали для перегляду.
Якщо ви більше не цікавитеся змінами у певних файлах, ви можете вилучити спостерігачі для цих файлів. Для цього можна скористатися пунктом меню → . У діалоговому вікні, яке буде відкрито, ви побачите ті самі пункти, які ви вже бачили, коли додавали спостерігача. Після натискання кнопки Cervisia виконає таку команду:
cvs watch remove назви файлів
можливо, з параметром -a
для вибраних подій.
Нарешті, ви можете отримати список людей, які спостерігають за файлами. Скористайтеся пунктом → . За допомогою цього пункту меню ви можете наказати програмі виконати таку команду:
cvs watchers назви файлів
За звичайного сценарію використання CVS кожен з розробників окремо працює над власною отриманою пісочницею. Якщо розробник бажає змінити якийсь з файлів, він може відкрити його у власному редакторі і почати з ним працювати. Ніхто інший не дізнається про роботу, виконану цим розробником, до того часу, коли файл буде передано до сховища.
Для деяких груп розробників така модель є не зовсім прийнятною моделлю співпраці. Розробники у таких групах бажали б бути сповіщеними про те, що хтось працює над файлом одразу після того, як розробник почне роботу над файлом. Цього можна досягти за допомогою додаткових команд CVS. Перш ніж почати редагування певного файла, позначте його у головному вікні Cervisia і скористайтеся пунктом меню → . У відповідь програма виконає таку команду:
cvs edit назви файлів
Ця команда надішле сповіщення всім, хто обрав спостерігач зміни
для цього файла. Крім того, ця команда зареєструє вас як редактора відповідного файла. Ви можете отримати список всіх редакторів певного файла за допомогою пункту меню → . Використання цього пункту меню рівноцінне виконанню такої команди:
cvs editors назви файлів
Сеанс редагування буде автоматично завершено після передавання файла, який редагує розробник. Після цього всім користувачам, які зареєстрували спостерігачі для файла, буде надіслано сповіщення про завершення редагування
. Звичайно ж, іноді ви передумаєте передавати файл, перервати сеанс редагування і повернутися до попередньої версії файла. Досягти цього можна за допомогою пункту меню → . Зауважте, що Cervisia не запитуватиме у вас підтвердження. Це означає, що якщо ви скористаєтеся цим пунктом меню, всію роботу, виконану з часу вибору пункту меню → буде втрачено. Якщо бути точним, Cervisia виконає таку команду:
echo y | cvs unedit назви файлів
Вище ми обговорювали лише випадок, коли встановлення міток редагування або завершення редагування відбувається розробниками у добровільному порядку. Крім того, CVS підтримує модель, за використання якої користування цими командами є примусовим. Відповідною командою, призначеною для вмикання такої моделі, є cvs watch on. Ми не будемо докладно обговорювати цю команду, оскільки здебільшого цією командою користуються адміністратори сховища. Важливою особливістю з точки зору розробника є те, що, коли у проєкті примусово використовуються позначки редагування, робочі копії отримуються як придатні лише для читання. Це означає, що, типово, ви не зможете редагувати файл (якщо не скористаєтеся трюками на зразок chmod). Лише після того, як ви скористаєтеся пунктом меню → , файл стане придатним для запису. Файл знову стане придатним лише для читання після того, як ви передасте файл або скористаєтеся пунктом меню → .
У інтерфейсі редактора Cervisia передбачено і інший спосіб, який допоможе вам працювати з проєктами, у яких використовують примусове встановлення міток редагування. Якщо ви тільки-но запустили редактор для файла, позначеного лише для читання, подвійним клацанням лівою кнопкою миші або за допомогою пункту меню → , ви не зможете згодом зберегти внесені вами зміни. Звичайно ж, для цього є причина: кожного разу, коли ви бажаєте змінити файл, вам слід спочатку виконати команду cvs edit, щоб усі люди, які спостерігали за файлом, отримали сповіщення про те, що ви працюєте над цим файлом.
У такому випадку радимо вам позначити пункт меню → . Якщо ви це зробите, кожного разу, коли ви викликатимете вікно редагування файла подвійним клацанням лівою кнопкою миші на його позначці, Cervisia виконуватиме команду cvs edit, перш ніж запускати редактор. Після цього ви зможете редагувати файл у звичайному режимі. Після завершення редагування ви зможете надіслати змінені файли, — у сховищі вони знову стануть придатними лише для читання.