Розділ 5. Додаткові можливості

Оновлення до випуску, гілки або певної дати

Гілки модуля є паралельними версіями модуля. Непоганим прикладом з життя, коли може виникнути потреба у цій можливості, є випуск проєкту розробки програмного забезпечення. Після головного випуску було виявлено вади у коді, які слід виправити, але користувачі також бажають, щоб ви додали до програми нові можливості. Дуже важко виконати обидва завдання одночасно, оскільки з додаванням нових можливостей, зазвичай, додаються нові помилки, що ускладнює виявлення старих помилок. Щоб розв’язати цю дилему, у CVS можна створити паралельну версію, яку ми називатимемо «гілку стабільного випуску», куди ви вноситимете лише виправлення вад, основну гілку (HEAD) можна використовувати для додавання нових можливостей.

Мітки використовуються для позначення версії проєкту. CVS позначає версію кожного файла міткою, отже, коли ви отримуєте або оновлюєте копію до певної мітки, ви завжди отримуватимете однакові версії файлів. Тому, на відміну від гілок, мітки є сталими: ви не можете розробляти мітку. Мітки корисні для позначення випусків, значних змін у коді тощо.

Якщо ви розробляєте або продовжуєте розробку проєкту програмного забезпечення, вам не обов’язково весь час продовжувати розробку головної гілки. Після випуску, ймовірно, ви певний час працюватимете з випущеною гілкою, щоб отримати переваги її відносної стабільності, виправити вади, додати переклади тощо. Для виконання всіх цих дій вам доведеться оновити випущену гілку. Всі ваші файли буде оновлено до останньої версії файлів у відповідній гілці. Після оновлення всі ваші нові внески до сховища буде також вивантажено до нової гілки.

Крім того, якщо ви бажаєте стежити за певною вадою, про яку вам було повідомлено після створення мітки випуску, у CVS передбачено можливість отримання програмного забезпечення у вигляді, у якому його було випущено, оновленням до цієї мітки. Якщо ж ви бажаєте отримати ранішу версію вашого проєкту, ви можете оновити вашу робочу копію до певної дати. Ця дія може бути корисною, якщо між двома випусками у проєкті з’явилася помилка, а у вас склалася певна думка щодо того, коли це сталося. Якщо ви оновлюєте копію до певної дати або мітки, версії ваших файлів збігатимуться з версіями, які перебували у сховищі у вказану дату, або з версіями, які було позначено вказаною міткою.

Застереження

Перш ніж виконувати оновлення до іншої гілки або мітки, переконайтеся, що ви передали до сховища всі внесені вами до гілки, над якою ви працювали, зміни. Якщо ви не готові передавати ваші зміни, але і не бажаєте їх відкидати, не оновлюйте копію до нової гілки, оскільки ви можете втратити всі ваші зміни. Крім того, ви можете створити нове отримання, щоб працювати паралельно з обома версіями.

Рисунок 5.1. Знімок діалогового вікна оновлення до випуску Cervisia

Знімок діалогового вікна оновлення до випуску Cervisia

Оновлення до гілки

Позначте цей пункт, щоб оновити копію до певної гілки. Введіть назву гілки у спадному текстовому полі (або натисніть кнопку Отримати список, щоб отримати список гілок з сервера CVS, і оберіть потрібну вам гілку зі спадного списку).

Оновлення до випуску

Позначте цей пункт, щоб оновити копію до певної мітки. Введіть назву мітки у спадному текстовому полі (або натисніть кнопку Отримати список, щоб отримати список міток з сервера CVS, і оберіть потрібну вам мітку зі спадного списку).

Оновлення до дати

Позначте цей пункт, щоб оновити копію до певної дати. У полі, розташованому нижче, ви можете ввести дату у широкому діапазоні форматів дат. Одним з можливих форматів є yyyy-mm-dd, де yyyy — це рік, mm — місяць (цифрами), а dd — це день. Крім того, ви можете скористатися фразами англійською, зокрема yesterday або 2 weeks ago.

Примітка

Оновлення до мітки або дати зробить їх «липкими», тобто ви не зможете надіслати до сховища подальші модифікації цих файлів (якщо мітка не є міткою гілки). Щоб повернутися до головної гілки, скористайтеся пунктом меню ДодатковіОновити до HEAD.

Команда, яку буде віддано для оновлення до гілки або випуску, буде такою:

cvs update -r мітка

Команда, яку буде віддано для оновлення до дати, буде такою:

cvs update -D дата

Команда, яку буде віддано для оновлення головної гілки (HEAD), буде такою:

cvs update -A