5.2.5 WinCVS
WinCVS является системой контроля версий, разработанной специально для операционной системы Microsoft Windows. WinCVS, как и другие CVS системы, предназначена для ведения изменяющегося во времени проекта, хранения файлов предыдущих версий и обеспечения системы синхронизации файловой информации между некоторым количеством пользователей. CVS используют обычно в рамках разработки программного обеспечения. Две главные задачи, решаемые CVS:
Хранение истории изменения файла для возможности отката к предыдущей версии;
Облегчение кооперативной работы участников проекта в процессе изменения данных файлов.
Наиважнейшие задачи, которые выполняют CVS системы – это синхронизация данных проекта, то есть обновление файлов до последней версии, а также внесение изменений файлов в репозиторий. При совершении этих операций CVS сервер сравнивает отличия файла клиента и файла, хранящегося на сервере. Если изменения файлов не пересекаются, то операция выполняется, в противном случае сервер оповестит клиент о конфликте версий файлов и изменения придётся отслеживать вручную. Это и есть главное отличие WinCVS от многих других CVS систем. Обычно при работе пользователя с определённым файлом этот файл блокируется, и работа с ним невозможна другим пользователям до тех пор, пока его изменения не будут внесены, и работа с ним, тем самым, будет прекращена. Это сильно затрудняет совместную работу команды над одним файлом и тормозит процесс разработки. В WinCVS с одним файлом может работать неограниченное число пользователей при условии, что каждый из участников проекта будет редактировать разную часть файла.
Для компрессии хранимых данных CVS используют механизм дельта-компрессии. Дельта-кодирование (англ. Delta encoding) – способ представления данных в виде разницы (дельты) между последовательными данными вместо самих данных. Этот способ довольно эффективен для хранения текстовых данных, но недостаточно хорошо для хранения бинарных файлов.
CVS также поддерживает систему различных веток проекта. Обычно отлаженную и стабильную версию проекта хранят на одной ветке. Её обновляют только для исправления ошибок в текущей версии. Для активных разработок, внедрения новой функциональности, значительных улучшений создают параллельную ветвь и работают на ней. Это позволяет быстро развивать проект, не опасаясь за потерю стабильности в разрабатываемом программном продукте.
Do'stlaringiz bilan baham: |