CVS (Concurrent Versions System. «Система одночасно Версій») - програмний продукт, що відноситься до розряду систем управління версіями (англ. Version control system). Зберігає історію змін певного набору файлів, як правило, вихідного коду програмного забезпечення. і полегшує спільну роботу групи людей (часто - програмістів) над одним проектом. CVS популярна в світі відкритого ПЗ. Система поширюється на умовах ліцензії GNU GPL.
Деякі джерела вважають CVS застарілої [3] [4] [5] системою, тому що CVS має ряд недоліків, і є більш молоді альтернативні системи управління версіями (наприклад, Subversion або Git), вільні від більшості недоліків CVS.
Основні концепції
CVS використовує архітектуру клієнт-сервер. Зазвичай клієнт і сервер з'єднуються через локальну мережу або через Інтернет. але можуть працювати і на одній машині, якщо необхідно вести історію версій локального проекту. Серверне програмне забезпечення зазвичай працює під управлінням Unix (хоча існує CVS сервер і для Windows NT), тоді як CVS клієнти доступні у всіх популярних операційних системах.
Сервер зберігає в спеціальному сховищі (репозиторії) поточну версію (версії) проекту і історію змін, а клієнт з'єднується з ним, щоб отримати потрібну йому версію або записати нову. Отримавши з сервера потрібну версію (дана процедура називається check-out), клієнт створює локальну копію проекту (або його частини) - так звану робочу копію. Після того як в файли, що знаходяться в робочій копії, внесені необхідні зміни, вони пересилаються на сервер (check-in).
Клієнти також можуть порівняти різні версії файлів, запросити повну історію змін або отримати історичний образ проекту на певне число або за номером ревізії. Багато Open Source-проекти дозволяють анонімний доступ на читання, який вперше був застосований в OpenBSD. Це означає, що клієнти можуть запитувати і порівнювати версії файлів без пароля; тільки check-in-операції, які призводять до зміни даних в репозиторії, вимагають пароль.
Також для синхронізації локальної копії проекту з інформацією на сервері клієнти можуть використовувати команду update. що дозволяє уникнути повторного скачування всього проекту.
CVS також може містити різні гілки проекту. Наприклад, стабільна версія проекту може становити одну гілку (branch), в яку вносяться тільки виправлення помилок, тоді як активна розробка може вестися в паралельній гілці, яка включає значні поліпшення або зміни з моменту виходу стабільної версії.
CVS використовує механізм дельта-компресії для ефективного зберігання різних версій одного і того ж файлу.
Термінологія
Проекти в CVS зберігаються у вигляді модулів. Модуль - це набір файлів проекту. Сервер CVS може обслуговувати кілька модулів; всі модулі зберігаються в репозиторії. Локальна копія модуля, отримана за допомогою CVS клієнта, називається робочою копією.
Check-out витяг цілого модуля з CVS і створення робочої копії. Check-in фіксація локальних змін в репозиторій. Update оновлення локального проекту з CVS. Branch «гілка» - незалежне напрямок модифікації проекту, яке може містити ряд послідовних версій. «Гілка» може розвиватися паралельно іншим гілкам. Головна гілка є завжди. Main trunk або HEAD головна гілка. Revision «ревізія»: одна з версій окремого файлу. Release «реліз»: одна з версій цілого проекту. Термін «версія» взагалі не використовується. Tag ( «тег») спеціальна мітка, що позначає певний реліз продукту. Текст мітки бажано робити максимально зрозумілим. Мітку можна призначити і окремого файлу, але особливого сенсу в цьому немає. Тег позначає сукупність файлів певних ревізій (версій).
Історія і статус
CVS є розвитком більш ранньої системи управління версіями. має назву Revision Control System (RCS), яка все ще використовується для роботи з окремими файлами, але не цілими проектами. Дік Грун привів [6] короткі історичні відомості про CVS на своїй сторінці. Вільний переклад частини тексту:
На сьогоднішній день код CVS підтримує група добровольців. Цікавим є той факт, що версія CVS для Microsoft Windows. відокремилася в окремий проект CVSNT, зараз досить активно розширює можливості системи навіть портіруя зміни назад на UNIX під ім'ям CVSNT.
Ставлення CVS до проекту GNU може трактуватися неоднозначно: на одній сторінці сайт GNU поширює програму як «пакет GNU», а на іншій CVS знаходиться в розділі «інший проект під ліцензією GPL». На FTP-сервері програма знаходиться в директорії / non-gnu /.
недоліки
Інструменти
Клієнти, графічні оболонки для роботи з CVS
Вільні / Open source
- Кросплатформені
- CVSGUI - набір CVS клієнтів для Windows, MacOS, Linux (WinCvs, MacCvs і gCvs, відповідно)
- LinCVS - багатоплатформенна (Linux, інші Unix-like, Windows, Mac OS X) оболонка, написана з використанням бібліотеки Qt
- Eclipse - багатоплатформовий IDE з вбудованою підтримкою CVS
- TkCVS - багатоплатформенна (Linux, інші Unix-like, Windows, MacOS X) графічна оболонка, написана на интерпретируемом мовою Tcl
- NetBeans IDE - багатоплатформовий IDE з вбудованою підтримкою CVS
- Microsoft Windows
- TortoiseCVS - ймовірно найпростіший CVS клієнт для Windows
- WinCVS
- DevC ++ - дуже популярна IDE c CVS клієнтом
- Linux
- Cervisia - (Qt) оболонка до CVS для середовища KDE
- pharmacy - оболонка для середовища GNOME
- Solaris / OpenSolaris
- Sun Studio IDE
комерційні
сервер CVS
Інші інструменти
Примітки
Дивитися що таке "CVS" в інших словниках:
CVS - can refer to: Contents 1 Computing 2 Entertainment 3 Mathematics 4 ... Wikipedia
CVS - abbrev. chorionic villus sampling * * * CVS abbr. chorionic villus sampling. * * * ... Universalium
Cvs. - Cvs. is the currency sign for the Bolivian centavo. See also CVS (disambiguation) Categories: Economy of BoliviaMoney stubs ... Wikipedia
CVS - Corporation (Business »NYSE Symbols) * Chorionic Villus Sampling (Business) * Concurrent Version System (Computing» Software) * Council for Voluntary Service (Community »Non Profit Organizations) * Council for Voluntary Services (Governmental ... ... Abbreviations dictionary
cvs - cvs, Abkürzung für Centavo (Kolumbien) ... Universal-Lexikon
CVS - abbrev. chorionic villus sampling ... English World dictionary
CVS - Concurrent Versions System o simplemente CVS, también conocido como Concurrent Versioning System, es una aplicación informática que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los ... ... Wikipedia Español
CVS - Concurrent versions system «CVS» redirige ici. Pour les autres significations, voir CVS (homonymie). Concurrent versions system ... Wikipédia en Français