Concurrent Versions System

CVS
Тип Система контролю версій
Розробник The CVS Team
Стабільний випуск 1.11.23 (2008-5-8)
Нестабільний випуск 1.12.13 (2005-9-28)
Операційна система Unix-like, Windows
Мова програмування C
Ліцензія GNU General Public License
Репозиторій savannah.nongnu.org/projects/cvs
Вебсайт cvs.nongnu.org

CVS (від англ. Concurrent Versions System) — система контролю версій. Виникла в результаті розвитку RCS. Дік Грун[en] наводить короткі історичні відомості про CVS на своїй сторінці[1]. Вільний переклад частини тексту:

CVS був створений для того, щоб мати можливість працювати з моїми двома студентами над компілятором ACK мови C. У нас трьох були майже несумісні за часом графіки (один студент мав постійне місце роботи, інший з'являвся нерегулярно, а я міг працювати над проєктом лише ввечері). Наш проєкт тривав з липня 1984 до серпня 1985. CVS спочатку називався cmt, оскільки він дозволяв нам фіксувати версії незалежно (від англійського commit — фіксувати).

Код вперше вийшов у світ на конференції mod.sources 23 червня 1986.

Код, який в результаті набув сучасний вигляд системи CVS, був розпочатий спільно з Brian Berliner у квітні 1989, з наступними доповненнями від Джефа Полка та інших учасників. Браєн Берлінер написав документ з описом покращень програми CVS[2], які вона встигла набути за час внутрішнього використання у Prisma — сторонньому розробнику ядра SunOS, після чого Браєн випустив її на розгляд суспільства під GPL.

На теперішній час CVS підтримує група волонтерів. Версія CVS для Microsoft Windows, відокремлена у свій проєкт CVSNT[3].

Відношення CVS до проєкту GNU може трактуватися по різному: на одній сторінці сайт GNU розповсюджує програму як «пакет GNU», а на іншій CVS перебуває у розділі «інший проєкт під ліцензією GPL». На FTP сервері програма лежить у директорії /non-gnu/.

CVS і Subversion

Subversion спроєктована з підтримкою двійкових файлів, дозволяє мати версії директорій так само, як і файлів, дозволяє перейменовувати файли однією командою зі збереженням історії, має атомарні комміти.

Джерела

  1. Короткі історичні відомості про CVS (англ.). Архів оригіналу за 7 грудня 2006. Процитовано 17 грудня 2006.
  2. Berliner, Brian (1990). CVS II: Parallelizing Software Development (англ.). Архів оригіналу за 5 червня 2007. Процитовано 26 грудня 2020.
  3. Архівована копія. Архів оригіналу за 30 травня 2002. Процитовано 22 квітня 2022.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)

Література

  • David Thomas, Andrew Hunt (2003). Pragmatic Version Control Using CVS. The Pragmatic Programmers. ISBN 0-9745140-0-4.
  • Jennifer Vesperman (2006). Essential CVS (вид. 2e). O'Reilly. ISBN 0-596-52703-9.
  • Per Cederqvist та ін. Version Management with CVS. ISBN 0-9541617-1-8. Архів оригіналу за 19 вересня 2008. Процитовано 6 серпня 2008. {{cite book}}: Явне використання «та ін.» у: |author= (довідка)
  • Karl Franz Fogel, Moshe Bar[en]. Open Source Development with CVS. ISBN 1-932111-81-6. Архів оригіналу за 16 липня 2014. Процитовано 6 серпня 2008.


Програмне забезпечення Це незавершена стаття про програмне забезпечення.
Ви можете допомогти проєкту, виправивши або дописавши її.
  • п
  • о
  • р
Роки, якщо є, показують дату першого стабільного релізу. Системи з іменами виділеними курсивом більше не підтримуються, або заплановано завершення підтримки.
Локальні
SCCS (1972) • RCS (1982)
PVCS (1985) • MKS Source Integrity (1992)
Клієнт-серверні (централізовані)
Вільні/відкриті
CVS (1990) • CVSNT (1998) • Subversion (2000)
Закриті
Software Change Manager (1970s) • ClearCase (1992) • Visual SourceSafe (1994) • Perforce (1995) • MKS Integrity (2001) • Vault (2003) • Team Foundation Server (2005) • AccuRev (?)
Розподілені (децентралізовані)
Вільні/відкриті
GNU arch (2001) • Darcs (2002) • DCVS (2002) • SVK (2003) • Monotone (2003) • Codeville (2005) • Git (2005) • Mercurial (2005) • Bazaar (2005) • Fossil (2007)
Закриті
TeamWare (1990?) • Code Co-op (1997) • BitKeeper (1998) • Plastic SCM (2006)
Концепції
Дерево змін • Набір змін • Стовбур • Гілки • Tag • Фіксація змін • Дельта кодування • Різниця • Злиття • Відгалуження
Список систем керування версіями • Порівняння систем керування версіями