Представляем Bazaar =================== Что такое Bazaar? ----------------- Bazaar - это инструмент помогающий людям сотрудничать. Он отслеживает изменения, которые вы и другие люди делают с группой файлов, (таких как исходный код программы) для того что бы дать вам снимок каждого этапа их эволюции. Используя эту информацию, Bazaar может без проблем объединить вашу работу с работой других людей. Такие инструменты как Bazaar называются системами контроля версий (Version Control System (VCS)) и уже долгое время популярны среди разработчиков ПО. Легкость использования, гибкость и простота настройки Bazaar делают его идеальным не только для разработчиков ПО, но так же и для других групп, работающих совместно с файлами и документами, таких как технические писатели, Web-дизайнеры и переводчики. Это руководство описывает установку и использование Bazaar вне зависимости от того работает вы один, или в команде с другими людьми. Если вы уже знаете, что такое распределенная система контроля версий и хотите перейти прямо к описанию работы вы можете бегло просмотреть эту секцию и перейти прямо к `Продолжаем изучение`_. Краткая история систем контроля версий -------------------------------------- Инструменты для контроля версий на данный момент развиваются уже в течение нескольких десятилетий. Простыми словами можно описать 4 поколения таких инструментов: 1. инструменты контроля версий файлов, например CSSC, RCS 2. инструменты контроля дерева файлов - централизованный стиль, например CVS 3. инструменты контроля дерева файлов - централизованный стиль, этап 2, например Subversion 4. инструменты контроля дерева файлов - распределенный стиль, например Bazaar. Дизайн и реализация Bazaar учитывает уроки полученные на каждом из этих этапов развития подобных инструментов. В частности, Bazaar аккуратно поддерживает и централизованную и распределенную модели контроля версий и таким образом вы можете менять модель работы (когда это имеет смысл) без необходимости смены инструмента. Централизованная модель против распределенной --------------------------------------------- Многие традиционные инструменты контроля версий требуют наличия центрального сервера, который хранит историю изменений (или *репозиторий*) для дерева файлов. Что бы работать с файлами пользователю необходимо установить соединение с сервером и получить *рабочую версию* файлов. Таким образом пользователь получает *рабочее дерево* в котором он может работать. Для сохранения, или *фиксации* изменений пользователю нужен доступ к центральному серверу и он должен убедиться, что перед фиксацией он объединил свою работу с последней версией сохраненной на сервере. Такой подход известен как централизованная модель. Централизованная модель проверена достаточно долгой практикой, но она имеет и некоторые значительные недостатки. Во-первых, централизованная система требует наличия соединения с сервером при выполнении большинства операций по контролю версий. Во-вторых, централизованная модель жестко связывает момент **фиксации** изменений с моментом их **публикации**. В каких-то ситуациях это может быть нормально, но может сказываться негативно в других. Распределенные системы контроля версий позволяют отдельным пользователям и командам иметь несколько репозиториев, вместо одного центрального. В случае с Bazaar история обычно хранится в том же месте, что и код который находится под контролем версий. Это позволяет пользователю фиксировать свои изменения в любой момент когда это нужно, даже при отсутствии сетевого соединения. Сетевое соединение требуется только для публикации изменений, или когда нужен доступ к изменениям в другом месте. На самом деле для разработчиков использование распределенных систем контроля версий может иметь другие преимущества, кроме очевидных, связанных с работой при отсутствии сетевого соединения. Другие преимущества включают: * более легкое создание разработчиками экспериментальных веток * более легкое сотрудничество с другими разработчикам * меньше времени требуется для механических задач и больше для творчества * увеличение гибкости в управлении релизами через использование фиксаций включающих набор изменений для конкретной функциональности * качество и стабильность основной ветки может быть выше, что делает работу проще для каждого * для сообществ с открытым исходным кодом: * более легкое создание и поддержка изменений для сторонних разработчиков * упрощение взаимодействия основных разработчиков со сторонними разработчиками и более простая миграция сторонних разработчиков в основные * для компаний - упрощение работы с распределенными и внешними командами. Для более детального взгляда на преимущества распределенных систем контроля версий по сравнению с централизованными смотрите http://bazaar-vcs.org/BzrWhy. Ключевые особенности Bazaar --------------------------- Хотя Bazaar не единственная распределенная система контроля версий, она имеет некоторые значимые преимущества, которые делают ее прекрасным выбором для многих команд и сообществ. Описание этих особенностей и сравнение с другими системами контроля версий может быть найдено на Wiki Bazaar - http://bazaar-vcs.org. Из большинства особенностей, одна требует особого упоминания: Bazaar - это полностью свободное ПО написанное на языке Python. Это упрощает сотрудничество для внесения улучшений. Если вы хотите помочь, обратите внимание на http://bazaar-vcs.org/BzrSupport. Продолжаем изучение ------------------- Это руководство представляет из себя легкое для чтения введение в Bazaar и описание его использования. Всем пользователям рекомендуется прочесть хотя бы окончание этой главы, так как: * она описывает основные концепции, которые нужно знать пользователям * она описывает некоторые популярные пути использования Bazaar для сотрудничества. Главы 2-6 более детально описывают использование Bazaar для выполнения различных задач. Большинству пользователей рекомендуется прочесть их одну за другой сразу после начала использования Bazaar. Глава 7 и дальше содержат дополнительную информацию, которая поможет получить максимум от Bazaar после того как понятны основные функции. Этот материал может быть прочитан когда потребуется и в любом порядке. Если вы уже хорошо знакомы с другими системами контроля версий, вы возможно захотите вникнуть скорее через чтение следующих документов: * `Bazaar за пять минут`_ - небольшое введение * `Bazaar. Карточка быстрого старта`_ - наиболее часто используемые команды на одной странице. Плюс к этому справка на сайте и `Справка по Bazaar`_ предоставляют все детали по доступным командам и опциям. .. _Bazaar за пять минут: ../mini-tutorial/index.html .. _Bazaar. Карточка быстрого старта: ../quick-reference/quick-start-summary.svg .. _Справка по Bazaar: ../../en/user-reference/bzr_man.html Мы надеемся, что вам понравится это руководство. Если у вас есть пожелания по улучшению документации Bazaar вы можете написать в список рассылки bazaar@lists.canonical.com.