~bzr-pqm/bzr/bzr.dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Представляем 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://wiki.bazaar.canonical.com/BzrWhy.


Ключевые особенности Bazaar
---------------------------

Хотя Bazaar не единственная распределенная система контроля версий, она имеет
некоторые значимые преимущества, которые делают ее прекрасным выбором для
многих команд и сообществ. Описание этих особенностей и сравнение с другими
системами контроля версий может быть найдено на Wiki Bazaar -
http://wiki.bazaar.canonical.com.

Из большинства особенностей, одна требует особого упоминания: Bazaar - это
полностью свободное ПО написанное на языке Python. Это упрощает сотрудничество
для внесения улучшений. Если вы хотите помочь, обратите внимание на
http://wiki.bazaar.canonical.com/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.