7
Bazaar - это инструмент помогающий людям сотрудничать. Он отслеживает
8
изменения, которые вы и другие люди делают с группой файлов, (таких как
9
исходный код программы) для того что бы дать вам снимок каждого этапа их
10
эволюции. Используя эту информацию, Bazaar может без проблем объединить вашу
11
работу с работой других людей.
13
Такие инструменты как Bazaar называются системами контроля версий (Version
14
Control System (VCS)) и уже долгое время популярны среди разработчиков ПО.
15
Легкость использования, гибкость и простота настройки Bazaar делают его
16
идеальным не только для разработчиков ПО, но так же и для других групп,
17
работающих совместно с файлами и документами, таких как технические писатели,
18
Web-дизайнеры и переводчики.
20
Это руководство описывает установку и использование Bazaar вне зависимости от
21
того работает вы один, или в команде с другими людьми. Если вы уже знаете, что
22
такое распределенная система контроля версий и хотите перейти прямо к описанию
23
работы вы можете бегло просмотреть эту секцию и перейти прямо к
24
`Продолжаем изучение`_.
26
Краткая история систем контроля версий
27
--------------------------------------
29
Инструменты для контроля версий на данный момент развиваются уже в течение
30
нескольких десятилетий. Простыми словами можно описать 4 поколения таких
33
1. инструменты контроля версий файлов, например CSSC, RCS
34
2. инструменты контроля дерева файлов - централизованный стиль, например CVS
35
3. инструменты контроля дерева файлов - централизованный стиль, этап 2,
37
4. инструменты контроля дерева файлов - распределенный стиль, например Bazaar.
39
Дизайн и реализация Bazaar учитывает уроки полученные на каждом из этих этапов
40
развития подобных инструментов. В частности, Bazaar аккуратно поддерживает и
41
централизованную и распределенную модели контроля версий и таким образом вы
42
можете менять модель работы (когда это имеет смысл) без необходимости смены
45
Централизованная модель против распределенной
46
---------------------------------------------
48
Многие традиционные инструменты контроля версий требуют наличия центрального
49
сервера, который хранит историю изменений (или *репозиторий*) для дерева
50
файлов. Что бы работать с файлами пользователю необходимо установить соединение
51
с сервером и получить *рабочую версию* файлов. Таким образом пользователь
52
получает *рабочее дерево* в котором он может работать. Для сохранения, или
53
*фиксации* изменений пользователю нужен доступ к центральному серверу и он
54
должен убедиться, что перед фиксацией он объединил свою работу с последней
55
версией сохраненной на сервере. Такой подход известен как централизованная
58
Централизованная модель проверена достаточно долгой практикой, но она имеет и
59
некоторые значительные недостатки. Во-первых, централизованная система требует
60
наличия соединения с сервером при выполнении большинства операций по контролю
61
версий. Во-вторых, централизованная модель жестко связывает момент **фиксации**
62
изменений с моментом их **публикации**. В каких-то ситуациях это может быть
63
нормально, но может сказываться негативно в других.
65
Распределенные системы контроля версий позволяют отдельным пользователям и
66
командам иметь несколько репозиториев, вместо одного центрального. В случае с
67
Bazaar история обычно хранится в том же месте, что и код который находится под
68
контролем версий. Это позволяет пользователю фиксировать свои изменения в любой
69
момент когда это нужно, даже при отсутствии сетевого соединения. Сетевое
70
соединение требуется только для публикации изменений, или когда нужен доступ к
71
изменениям в другом месте.
73
На самом деле для разработчиков использование распределенных систем контроля
74
версий может иметь другие преимущества, кроме очевидных, связанных с работой
75
при отсутствии сетевого соединения. Другие преимущества включают:
77
* более легкое создание разработчиками экспериментальных веток
78
* более легкое сотрудничество с другими разработчикам
79
* меньше времени требуется для механических задач и больше для творчества
81
* увеличение гибкости в управлении релизами через использование
82
фиксаций включающих набор изменений для конкретной функциональности
84
* качество и стабильность основной ветки может быть выше, что делает
85
работу проще для каждого
87
* для сообществ с открытым исходным кодом:
89
* более легкое создание и поддержка изменений для сторонних разработчиков
91
* упрощение взаимодействия основных разработчиков со сторонними
92
разработчиками и более простая миграция сторонних разработчиков в основные
94
* для компаний - упрощение работы с распределенными и внешними командами.
96
Для более детального взгляда на преимущества распределенных систем контроля
97
версий по сравнению с централизованными смотрите http://wiki.bazaar.canonical.com/BzrWhy.
100
Ключевые особенности Bazaar
101
---------------------------
103
Хотя Bazaar не единственная распределенная система контроля версий, она имеет
104
некоторые значимые преимущества, которые делают ее прекрасным выбором для
105
многих команд и сообществ. Описание этих особенностей и сравнение с другими
106
системами контроля версий может быть найдено на Wiki Bazaar -
107
http://wiki.bazaar.canonical.com.
109
Из большинства особенностей, одна требует особого упоминания: Bazaar - это
110
полностью свободное ПО написанное на языке Python. Это упрощает сотрудничество
111
для внесения улучшений. Если вы хотите помочь, обратите внимание на
112
http://wiki.bazaar.canonical.com/BzrSupport.
118
Это руководство представляет из себя легкое для чтения введение в Bazaar и
119
описание его использования. Всем пользователям рекомендуется прочесть хотя бы
120
окончание этой главы, так как:
122
* она описывает основные концепции, которые нужно знать пользователям
123
* она описывает некоторые популярные пути использования Bazaar для
126
Главы 2-6 более детально описывают использование Bazaar для выполнения
127
различных задач. Большинству пользователей рекомендуется прочесть их одну за
128
другой сразу после начала использования Bazaar. Глава 7 и дальше содержат
129
дополнительную информацию, которая поможет получить максимум от Bazaar после
130
того как понятны основные функции. Этот материал может быть прочитан когда
131
потребуется и в любом порядке.
133
Если вы уже хорошо знакомы с другими системами контроля версий, вы возможно
134
захотите вникнуть скорее через чтение следующих документов:
136
* `Bazaar за пять минут`_ - небольшое введение
138
* `Bazaar. Карточка быстрого старта`_ - наиболее часто используемые команды на
141
Плюс к этому справка на сайте и `Справка по Bazaar`_ предоставляют все детали
142
по доступным командам и опциям.
144
.. _Bazaar за пять минут: ../mini-tutorial/index.html
145
.. _Bazaar. Карточка быстрого старта: ../quick-reference/quick-start-summary.svg
146
.. _Справка по Bazaar: ../../en/user-reference/bzr_man.html
148
Мы надеемся, что вам понравится это руководство. Если у вас есть пожелания по
149
улучшению документации Bazaar вы можете написать в список рассылки
150
bazaar@lists.canonical.com.