К распределенным системам нового поколения относят Git (Гит), Mercurial (Меркуриал) и Bazaar (Базар). Все три системы появились на свет более-менее в одно время (конец 2004 – начало 2005 года). Список современных распределенных систем контроля версий также дополняют Darcs и Monotone.
В распределенных системах каждая копия репозитория является самодостаточной сущностью: пользователь может производить все операции над файлами или историей изменений без необходимости подключаться к некоторому центральному серверу. В дополнение к этому пользователь может свободно объединять изменения из разных копий одного репозитория. Вместе с тем распределенные системы могут поддерживать и централизованную модель работы с использованием некоторого центрального сервера, что позволяет назвать их надмножеством централизованных систем контроля версий.
Развитию распределенных систем контроля версий способствуют два основных фактора:
- бурное развитие глобальной сети интернет
- наличие доступных по цене переносных компьютеров (ноутбуков и нетбуков)
Все современные распределенные системы контроля версий имеют свои достоинства и недостатки. Поэтому у каждой системы есть свой круг приверженцев. Выбрать систему, наиболее полно удовлетворяющую вашим требованиям и привычкам, может оказаться нелегко. В любом случае надо будет поработать с одной-двумя выбранными системами, чтобы увидеть их в действии и оценить степень пригодности.
Гит и Меркуриал изначально создавались для работы над ядром операционной системы Linux (Линукс), поэтому одним из главных требований для них была возможность адекватной работы с набором файлов с исходными кодами Линукс. Одной из главных целей при этом стало достижение максимальной скорости работы с огромным количеством файлов.
Базар же изначально проектировался как замена распределенной системы контроля версий первого поколения (GNU Arch) и главной целью было создание удобного и дружественного интерфейса пользователя. Оптимизацией скорости работы этой системы начали заниматься несколько позднее, используя в качестве наглядного примера Гит и Меркуриал. В то же время в Базаре изначально большое внимание уделяется идеям расширяемости и обратной совместимости. Одной из ключевых особенностей Базара является привязка уникального идентификатора к каждому версионированному файлу, каталогу или символической ссылке, что позволяет легко и эффективно отслеживать переименования файлов и каталогов. В своем арсенале Базар имеет поддержку для множества различных моделей работы (от полностью распределенной до централизованной), Базар имеет поддержку для работы с репозиториями через множество различных протоколов (локальный файловый доступ, http/https, sftp, ftp, специальный эффективный bzr-протокол). Все это делает Базар очень гибкой системой, способной легко адаптироваться к различным требованиям. Но в то же время эта гибкость может озадачить начинающих пользователей, поскольку требует внимательного изучения руководства пользователя.
В последующих статьях обязательно будет рассказано о разных аспектах использования Базара.
Если же у вас появятся конкретные вопросы по использованию Базара, вы всегда можете задать их в дискуссионной группе ru_bzr.
Комментариев нет:
Отправить комментарий