В работе писателя, инженера, дизайнера часто создаются версии файла, отражающие различные концепции или видение решения задачи. Эти варианты файлов хранятся отдельно, иногда возникает необходимость сравнить их. Программы по контролю версий документов помогут оптимизировать работу.
Творческому работнику, разработчику инженерных систем или чиновнику не нужно объяснять практическую необходимость систем контроля версий. Иногда инженерное решение, обрабатываемая фотография или важное письмо правятся сотни раз, а потом возникает необходимость вернуться к состоянию файла, актуальному неделю назад. Команда Ctrl + Z (отменить действие) не всегда выручает в случае, когда правок было сделано много. Зная эту закономерность, приходится сохранять файлы после каждого существенного изменения с указанием даты сохранения, чтобы в случае необходимости вернуться к определенной развилке и продолжить работу в другом направлении.
Минусы ручного метода:
Системы по контролю версий документов (СКВ) предлагают пользователю более комфортное решение. Под определением Version Control System, VCS или Revision Control System понимается программное обеспечение для облегчения работы с изменяющейся информацией. СКВ позволяет сохранить несколько вариантов одного и того же файла, информацию о том, кем и когда внесена правка, имеет другие полезные функции. Задача экономии места на диске решается благодаря использованию дельта-сжатия, механизма, при котором сохраняются не файл целиком, а только сделанные в нем изменения.
Помимо решения прикладных задач конкретного пользователя, системы контроля версий документов широко используются в бизнесе и производстве.
Функциональные задачи, решаемые с использованием СКВ:
Любопытно, что СКВ применяются и в «Википедии»: для каждой статьи сохраняются все ее варианты после правки.
В стандартной ситуации в компании используется модель, когда все файлы с внесенными изменениями всех пользователей хранятся в едином централизованном хранилище на выделенном сервере. Установленное там программное обеспечение выполняет большинство функций по управлению вариантами файлов. Пользователю приходится обращаться к серверу с запросом о предоставлении необходимой версии, и ему предлагается для работы локальная копия сохраненного на определенный момент файла. Так работает большинство бесплатных программ, предлагающих пользователю применять репозиторий на своем сервере. Но внедряются и децентрализованные решения (p2p).
В модели централизованного управления работой с файлами создается локальное хранилище копий, по отношению к которому действуют следующие правила:
Децентрализованные модели обычно используются свободными проектными группами, участники которых находятся в разных городах, в компаниях предпочитают использовать централизованные продукты, работающие по варианту «клиент – сервер». В централизованной системе и запрошенная, и переработанная копии сохраняются.
В некоторых программных продуктах применяется метод дельта-компрессии, он позволяет сохранять только изменения между последовательными преобразованиями, это уменьшает объем сохраняемых данных. Ряд программных продуктов, например, ClearCase, объединяют два типа хранения, когда на сервере одновременно находятся и полные документы (для отдельных файлов или на определенный период времени для всех) и дельта-изменения. Этот метод позволяет полностью восстановить архив, если в репозитории произошел технический сбой.
В большинстве программ новый вариант файла в архиве автоматически создается после каждого сохранения, пользователь может не думать о том, какие именно варианты работы нужно оставить. Если над задачей работает несколько пользователей, система предложит решение конфликта интересов, автоматически соединив изменения, но это правило существует только применительно к текстовым файлам.
Большинство программных продуктов, обеспечивающих контроль версий документов, имеют следующие функции:
Системы контроля версий документов не представляют сложностей для пользователя. Механизм работы общий для большинства вариантов программ СКВ. Предполагается, что проект уже создан, зарегистрирован и на сервере хранения файлов есть его учетная запись.
Работа выполняется по алгоритму:
Если над проектом работает два или более пользователя, возможен конфликт изменений. Он возникает тогда, когда изменения противоречат друг другу и не может быть создан объединенный проект. Конфликты обнаруживаются на этапах фиксации правок, обновления или слияния ветвей. При обнаружении конфликта программа принимает решение о том, что операция прекращается до его разрешения.
От пользователя часто не зависит, какую именно систему выберет администратор, но работа в разных программных решениях практически не различается.
При выборе программы нужно обращать внимание на:
Отслеживать версии конфиденциальных документов в файловой системе компании поможет «СёрчИнформ FileAuditor».
Продукт позиционируется как кроссплатформенная распределенная система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода с графической оболочкой TortoiseHg. Программа работает с ОС Windows, Linux и Mac OS X.
Преимуществом решения является наличие бесплатного хостинга репозиториев на сервере разработчика, что облегчает работу с приложением группе пользователей.
Плюсы:
Минусы:
Присутствующий на рынке уже более 30 лет продукт популярен у разработчиков программного обеспечения. Он распространяется по открытой лицензии, позволяет запрашивать с сервера-репозитория нужную редакцию. Во избежание конфликта интересов используется модель дерева вариантов. Система создавалась для работы в среде Unix, современные модификации успешно работают со всеми популярными ОС. Есть более функциональная коммерческая версия CVSNT для Windows.
Плюсы:
Недостатки:
Программный продукт, разработанный с учетом исправления недочетов предыдущего. Обеспечивает возможность переноса данных из одной программы контроля версий документов в другую. Программа с открытым исходным кодом и распространяется на условиях лицензии Apache.
В программе реализован принцип атомарных операций, к финальной редакции применяются либо все согласованные изменения, либо ни одно из них. Это обеспечивает бесконечное дробление копий в результате незначительных правок.
Плюсы:
Минусы:
Выбор программы контроля версий документов зависит от цели команды разработчиков. Иногда бесплатные решения оказываются столь же эффективными что и программы, распространяемые по лицензии.
10.12.2019
Подпишитесь на нашу рассылку и получите
свод правил информационной безопасности
для сотрудников в шуточных