CVS

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
Concurrent Versions System
Информация
Разработчик Група разработчици
Последна версия 1.11.23
Програмен език C
Операционна система POSIX, Windows
Вид софтуер Управление на версии
Лиценз GPL
Уебсайт http://www.nongnu.org/cvs

CVS или Concurrent Versions System е централизирана система за контрол на версиите, позволяваща на няколко разработчици да работят върху един и същ проект. CVS е свободен софтуер.

Възможности[редактиране | edit source]

CVS използва архитектура клиент-сървър - сървърът съхранява текущата версия на проекта и историята на промените, а клиентът се свързва с него за да свали пълно копие на проекта и ако се налага по-късно да добави своите промени. Обикновено клиентът и сървърът са свързани с мрежа, но могат да се изпълняват на един и същи компютър. Сървърният софтуер обикновено работи под Unix, а клиенти съществуват за всички по-големи платформи.

Няколко разработчици могат да работят едновременно върху проекта, като редактират различни копия и добавят на сървъра направените от тях промени. За да се избегнат проблеми с едновременни редакции на един и същи файл, сървърът приема промени само спрямо последната версия. Затова от разработчиците се очаква да поддържат кода си обновен, за което обикновено се грижи CVS клиентът, който автоматично сваля чуждите промени. Ръчна намеса се налага само в случай на конфликт с вече добавената на сървъра версия и локалните промени на файла, които все още не са изпратени.

Ако операцията по качване на промените на сървъра е успешна, версията на всички променени файлове автоматично се увеличава. Освен това CVS сървърът записва в своите логове и метаданни - поле с резюме на редакцията, дата и име на автора. CVS може също да изпълнява зададени от потребителя външни скриптове, които да се изпълняват и да обработват метаданните след всяко съхраняване на промените от страна на клиента. Така могат да бъдат изпращани съобщения по електронна поща при промени.

Клиентите могат също да сравняват различни версии или да изтеглят пълната история на проекта за да видят кой кога е добавил част от даден файла. Възможно е и да се свали специфична версия на файла или точно копие на проекта от дадена дата. Много проекти с отворен код осигуряват публичен достъп до хранилищата си, при който е възможно само четене.

CVS може да поддържа различни "клонове" на разработка. Това означава, че проектът се разделя на две копия, които се променят независимо едно от друго. Тази възможност често се изполва при софтуерните проекти - единият клон е само за поправяне на проблеми, а в другият се добавят всички нови възможности на софтуерния продукт.

CVS използва делта компресия за ефективно съхраняване на файловете. Това означава, че не се съхраняват пълните версии на файловете, а само разликите между тях. Това означава, че системата е по-ефективна при файлове с много редове (обикновено текстови).

История[редактиране | edit source]

Разработката на CVS започва от група скриптове за командната обвивка, създадени от холандския програмист Дик Груне през юли 1986[1]. Целта на тези скриптове е да боравят с по-стара система за контрол на версиите - Revision Control System (RCS), която позволява съхраняване само на отделни файлове, но не и на проекти. В края на 1990 се обособява като отделен софтуерен продукт под GPL лиценз.

Така нареченото "разклоняване", присъстващо в повечето съвременни системи за контрол на версиите, се появява първо в CVS[2].

В момента CVS се използва все по-малко за сметка на по-съвременния SVN, проектиран като "по-добър CVS", при който са премахнати някои от ограниченията на предшественика му.[3]. Множество големи софтуерни проекти са изоставили CVS за сметка на децентрализирани системи за разработка на софтуер като Git, Mercurial и Bazaar.[4]

Източници[редактиране | edit source]

  1. http://ximbiot.com/cvs/wiki/CVS--Concurrent%20Versions%20System%20v1.12.12.1:%20Overview
  2. http://www.fnal.gov/docs/products/cvs/cvs-paper.ps
  3. http://subversion.apache.org/faq.html#why
  4. http://arstechnica.com/open-source/news/2009/01/dvcs-adoption-is-soaring-among-open-source-projects.ars

Външни връзки[редактиране | edit source]