<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=CVS</id>
	<title>CVS - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=CVS"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=CVS&amp;action=history"/>
	<updated>2026-07-16T08:54:35Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=CVS&amp;diff=5084&amp;oldid=prev</id>
		<title>imported&gt;Alex NB OT: унификация языковых шаблонов, замена устаревших имён параметров (3)</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=CVS&amp;diff=5084&amp;oldid=prev"/>
		<updated>2025-11-15T11:06:14Z</updated>

		<summary type="html">&lt;p&gt;унификация языковых шаблонов, замена устаревших имён параметров (3)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{о|системе управления версиями|сети аптек в США|статью [[CVS Health]]}}&lt;br /&gt;
{{Карточка программы&lt;br /&gt;
| последняя версия = 1.11.23&amp;lt;ref&amp;gt;{{Cite news|title=NEWS 1.11.23|url=https://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/NEWS.1.11.23|access-date=2022-04-14|archive-date=2021-12i 27|archive-url=https://web.archive.org/web/20211227003954/http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/NEWS.1.11.23}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| дата последней версии = {{start date and age|2008|05|08}}&lt;br /&gt;
| бета-версия = &lt;br /&gt;
| дата бета-версии = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CVS&amp;#039;&amp;#039;&amp;#039; ({{lang-en|Concurrent Versions System}} — &amp;#039;&amp;#039;система одновременных версий&amp;#039;&amp;#039;) — централизованная [[система управления версиями]], популярная в 1990-е — начале 2000-х годов. Хранит историю изменений определённого набора файлов, как правило, [[исходный код|исходного кода]] [[Программное обеспечение|программного обеспечения]], и облегчает совместную работу группы людей над одним проектом. Распространяется на условиях [[лицензия|лицензии]] [[GNU General Public License|GNU GPL]].&lt;br /&gt;
&lt;br /&gt;
С конца 2000-х годов активная разработка системы прекращена (последняя версия выпущена в мае [[2008 год]]а), в исходный код вносятся только небольшие исправления&amp;lt;ref&amp;gt;[http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/ChangeLog {{Wayback|url=http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/ChangeLog |date=20181116130105 }} [sources&amp;amp;#93; Log of /cvs/ccvs/ChangeLog&amp;lt;!-- Заголовок добавлен ботом --&amp;gt;]&amp;lt;/ref&amp;gt;. Считается устаревшей&amp;lt;ref&amp;gt;[http://www.redhat.com/magazine/010aug05/features/subversion/ CVS is out, Subversion is in] {{webarchive|url=https://web.archive.org/web/20100325231953/http://www.redhat.com/magazine/010aug05/features/subversion/ |date=2010-03-25 }}{{ref|en}} Red Hat magazine, август 2005 г.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://sourceforge.net/apps/trac/sourceforge/wiki/CVS CVS — sourceforge&amp;lt;!-- Заголовок добавлен ботом --&amp;gt;] {{webarchive|url=https://web.archive.org/web/20100610014449/http://sourceforge.net/apps/trac/sourceforge/wiki/CVS |date=2010-06-10 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://www.citforum.ru/programming/application/cvs/ |title=CVS — система управления версиями&amp;lt;!-- Заголовок добавлен ботом --&amp;gt; |access-date=2009-07-25 |archive-date=2010-07-08 |archive-url=https://web.archive.org/web/20100708062202/http://www.citforum.ru/programming/application/cvs/ |url-status=live }}&amp;lt;/ref&amp;gt; системой.&lt;br /&gt;
&lt;br /&gt;
== Основные концепции ==&lt;br /&gt;
CVS использует архитектуру [[клиент-сервер]]. Обычно клиент и сервер соединяются через [[Локальная вычислительная сеть|локальную сеть]] или через [[Интернет]], но могут работать и на одной машине, если необходимо вести историю версий локального проекта. Серверное ПО обычно работает под управлением [[UNIX|Unix]] (хотя существует CVS-сервер и для [[Windows NT]]), тогда как CVS-клиенты доступны во всех популярных [[операционная система|операционных системах]].&lt;br /&gt;
&lt;br /&gt;
Сервер хранит в специальном хранилище ([[репозиторий|репозитории]]) текущие версии проекта и историю изменений, а клиент соединяется с ним, чтобы получить нужную ему версию или записать новую. Получив с сервера нужную версию (&amp;lt;tt&amp;gt;check-out&amp;lt;/tt&amp;gt;), клиент создаёт локальную копию проекта (или его части) — так называемую рабочую копию. После того, как в файлы, находящиеся в рабочей копии, внесены необходимые изменения, они пересылаются на сервер (&amp;lt;tt&amp;gt;check-in&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Несколько клиентов могут работать над копиями проекта одновременно. Когда они отправляют результаты, сервер пытается объединить вместе их изменения в хранилище. Если это не удаётся, например, в случае, когда два клиента изменили одни и те же строки в определённом файле, сервер не примет изменения от последней операции check-in, и сообщит клиенту о конфликте, который должен быть исправлен вручную. Если операция check-in завершилась успешно, то номера версий всех затронутых файлов автоматически увеличиваются, и сервер записывает комментарий, дату и имя пользователя в свой журнал.&lt;br /&gt;
&lt;br /&gt;
Клиенты также могут сравнить различные версии файлов, запросить полную историю изменений или получить исторический образ проекта на определённое число или по номеру версии. Многие [[Открытое программное обеспечение|открытые]] проекты разрешают анонимный доступ на чтение, который впервые был применён в [[OpenBSD]]. Это означает, что клиенты могут запрашивать и сравнивать версии файлов без пароля; только check-in-операции, ведущие к изменению данных в хранилище, требуют пароль.&lt;br /&gt;
&lt;br /&gt;
Также для синхронизации локальной копии проекта с информацией на сервере клиенты могут использовать команду &amp;lt;tt&amp;gt;update&amp;lt;/tt&amp;gt;, что позволяет избежать повторного скачивания всего проекта.&lt;br /&gt;
&lt;br /&gt;
CVS также может содержать различные ветви проекта. Например, стабильная версия проекта может составлять одну ветвь ({{lang-en|branch}}), в которую вносятся только исправления ошибок, тогда как активная разработка может вестись в параллельной ветке, которая включает значительные улучшения или изменения с момента выхода стабильной версии.&lt;br /&gt;
&lt;br /&gt;
CVS использует механизм [[дельта-кодирование|дельта-компрессии]] для эффективного хранения различных версий одного и того же файла.&lt;br /&gt;
&lt;br /&gt;
== Основные понятия ==&lt;br /&gt;
Проекты в CVS хранятся в виде модулей, модуль — набор файлов проекта. Сервер CVS может обслуживать несколько модулей; все модули хранятся в репозитории. Локальная копия модуля, полученная с помощью CVS-клиента, называется рабочей копией.&lt;br /&gt;
&lt;br /&gt;
Операция &amp;lt;tt&amp;gt;check-out&amp;lt;/tt&amp;gt; — извлечение целого модуля из CVS и создание рабочей копии; &amp;lt;tt&amp;gt;check-in&amp;lt;/tt&amp;gt; — фиксация локальных изменений в репозиторий. Операция &amp;lt;tt&amp;gt;update&amp;lt;/tt&amp;gt; — обновление локального проекта из CVS.&lt;br /&gt;
&lt;br /&gt;
Ветвь ({{lang-en|branch}}) — независимое направление модификации проекта, которое может содержать ряд последовательных версий; ветвь может развиваться параллельно другим веткам; главная ветвь ({{lang-en|main trunk}} или &amp;lt;tt&amp;gt;HEAD&amp;lt;/tt&amp;gt;) есть всегда.&lt;br /&gt;
&lt;br /&gt;
Ревизия ({{lang-en2|revision}}) — одна из версий отдельного файла.&lt;br /&gt;
&lt;br /&gt;
Одна из версий целого продукта — «релиз» ({{lang-en2|release}}, термин «версия» в CVS вообще не используется). К версии прикрепляется специальная метка ({{lang-en2|tag}}), метку можно назначить и отдельному файлу, но это делается редко, обычно тегом помечают совокупность файлов определённых ревизий (версий).&lt;br /&gt;
&lt;br /&gt;
== История и статус ==&lt;br /&gt;
CVS является развитием более ранней [[система управления версиями|системы управления версиями]], имеющей название [[Revision Control System]] (RCS), которая всё ещё используется для работы с отдельными файлами, но не целыми проектами. Дик Грун привёл&amp;lt;ref&amp;gt;{{Cite web |url=http://www.cs.vu.nl/~dick/CVS.html#History |title=Concurrent Versions System CVS&amp;lt;!-- Заголовок добавлен ботом --&amp;gt; |access-date=2005-01-12 |archive-date=2006-12-07 |archive-url=https://web.archive.org/web/20061207061524/http://www.cs.vu.nl/~dick/CVS.html#History |url-status=live }}&amp;lt;/ref&amp;gt; краткие исторические сведения о CVS на своей страничке:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
CVS был создан для того, чтобы иметь возможность работы с двумя моими студентами над [[Си (язык программирования)|C]]-компилятором ACK ([[Amsterdam Compiler Kit]]). У нас троих был почти несовместимый по времени график (один студент имел постоянное место работы, второй появлялся нерегулярно, а я мог работать над проектом только по вечерам). Их проект длился с июля [[1984 год|1984]] по август [[1985 год|1985]]. CVS изначально назывался &amp;#039;&amp;#039;cmt&amp;#039;&amp;#039;, по причине того, что он позволил нам фиксировать версии независимо (от английского &amp;#039;&amp;#039;commit&amp;#039;&amp;#039; — фиксировать, совершать).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Код впервые увидел свет в конференции mod.sources [[23 июня]] [[1986 год]]а.&lt;br /&gt;
&lt;br /&gt;
Код, который в конце концов приобрёл вид текущей версии CVS, был начат совместно с Брайаном Берлинером в апреле 1989 года, с последующими дополнениями от Джеффа Полка и других участников. Брайан Берлинер написал&amp;lt;ref&amp;gt;{{Cite web |url=http://citeseer.ist.psu.edu/berliner90cvs.html |title=CiteSeerX — CVS II: Parallelizing Software Development&amp;lt;!-- Заголовок добавлен ботом --&amp;gt; |access-date=2005-01-12 |archive-date=2007-06-05 |archive-url=https://web.archive.org/web/20070605225452/http://citeseer.ist.psu.edu/berliner90cvs.html |url-status=live }}&amp;lt;/ref&amp;gt; документ, описывающий улучшения программы CVS, которые она успела приобрести за время внутреннего использования в Prisma — стороннем разработчике ядра [[Solaris|SunOS]], после чего Брайан выпустил её на всеобщее обозрение под лицензией [[GNU General Public License|GPL]].&lt;br /&gt;
&lt;br /&gt;
Проект поддерживается группой добровольцев. Примечательно, что версия CVS для [[Microsoft Windows]], отделившаяся в отдельный проект [[CVSNT]], достаточно активно расширяет возможности системы, даже [[портирование ПО|портируя]] изменения обратно на [[Unix]] под именем CVSNT.&lt;br /&gt;
&lt;br /&gt;
Отношение CVS к проекту GNU может трактоваться неоднозначно: на одной странице сайт GNU распространяет программу как «пакет GNU», а на другой CVS находится в разделе «другой проект под лицензией GPL». На FTP-сервере программа находится в каталоге &amp;lt;tt&amp;gt;/non-gnu/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Недостатки ==&lt;br /&gt;
* Невозможно переименовать файл или каталог так, чтобы это изменение было отражено в истории.&lt;br /&gt;
* Ограниченная поддержка [[юникод]]а и не-[[ASCII]]-имён.&lt;br /&gt;
* Публикации изменений не атомарны.&lt;br /&gt;
* Наборы изменений не поддерживаются.&lt;br /&gt;
* Неэффективное хранение двоичных файлов.&lt;br /&gt;
* Оригинальный GNU CVS не поддерживает разграничения прав между пользователями репозитория.&lt;br /&gt;
* Внутренние механизмы контроля целостности практически отсутствуют, зачастую даже невозможно точно утверждать, повреждён ли репозиторий, и если да, то каким образом&amp;lt;ref&amp;gt;[http://bacher09.org/hgbook/ru/html/how-did-we-get-here.html#idp32357408 Оценка CVS в книге о Mercurial] {{Wayback|url=http://bacher09.org/hgbook/ru/html/how-did-we-get-here.html#idp32357408 |date=20130907081920 }}.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://www.nongnu.org/cvs/ Главный сайт разработчиков CVS]&lt;br /&gt;
* [https://web.archive.org/web/20140425065118/http://squadette.ru/cvs-ru/html_node/cvs-ru_toc.html Документация на русском языке]&lt;br /&gt;
* [http://www.citforum.ru/programming/digest/cvsintrorus.shtml Джим Блэнди. Введение в CVS]&lt;br /&gt;
* [https://www.opennet.ru/docs/RUS/cvs/ CVS — Система управления параллельными версиями]&lt;br /&gt;
&lt;br /&gt;
{{Системы управления версиями}}&lt;br /&gt;
{{URI scheme}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Программное обеспечение для macOS]]&lt;br /&gt;
[[Категория:Программное обеспечение для Windows]]&lt;br /&gt;
[[Категория:Программное обеспечение с лицензией GNU GPL]]&lt;br /&gt;
[[Категория:Программное обеспечение для Linux]]&lt;br /&gt;
[[Категория:Свободное программное обеспечение, написанное на Си]]&lt;br /&gt;
[[Категория:Свободные системы управления версиями]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Alex NB OT</name></author>
	</entry>
</feed>