11
Базар |--| это распределенная система контроля версий, которая упрощает совместную
12
работу над программными проектами.
11
Bazaar |--| это распределенная система контроля версий, которая упрощает
12
совместную работу над программными проектами.
14
В течении следующих пяти минут, вы узнаете как начать контролиривать версии
15
ваших файлов, как вносить изменения, проверять вашу работу, публиковать её
16
и отправлять вашу работу для добавления к главной ветке проекта.
14
В течении следующих пяти минут, вы узнаете как начать контролировать версии
15
ваших файлов, как вносить изменения, проверять вашу работу, публиковать её и
16
отправлять для объединения с главной веткой проекта.
18
18
Если вы предпочитаете более подробное введение, обратитесь к разделу
42
Прежде чем начать работать, было бы неплохо сообщить Базару кто вы такой.
43
В этом случае ваша работа будет корректно отражена в истории версий.
42
Прежде чем начать работать, было бы неплохо сообщить Bazaar кто вы такой.
43
В этом случае ваша работа будет корректно идентифицирована в истории ревизий.
45
Используйте ваше имя и адрес электронной почты, вместо Васи Пупкина, напишите::
45
Используя ваше имя и адрес электронной почты, вместо данных Васи Пупкина,
47
48
$ bzr whoami "Vasya Pupkin <vasya.pupkin@mail.ru>"
49
Базар создаст или подправит файл настроек, включив в него ваше имя
50
и адрес электронной почты.
50
В этот момент Bazaar создаст или исправит файл настроек, включив в него ваше
51
имя и адрес электронной почты.
52
Теперь, проверьте правильно ли установлены ваше имя и адрес электронной почты::
53
Теперь, проверьте правильно ли сохранены ваши имя и адрес::
55
56
Vasya Pupkin <vasya.pupkin@mail.ru>
57
59
Начинаем контролировать версии файлов
58
60
=====================================
60
Создадим каталог и какие-нибудь файлы для использования с Базаром::
62
Давайте создадим каталог и несколько файлов для использования с Bazaar::
68
70
для создания ваших каталогов, затем нажимайте правую кнопку мыши
69
71
в этих каталогах и выбирайте ``Новый файл``, чтобы создать ваши файлы.
71
Теперь дадим Базару возможность настроить рабочее место в каталоге вашего проекта::
73
Теперь дадим Bazaar возможность инициализировать свои данные в каталоге вашего
75
Если всё выглядит так, как будто ничего не случилось |--| не волнуйтесь.
76
Базар создал ветку_, в которой он будет хранить рабочие файлы и историю их изменений.
78
Если всё выглядит так, как будто ничего не случилось |--| не волнуйтесь. Bazaar
79
создал ветку_, в которой он будет хранить рабочие файлы и историю их изменений.
78
81
.. _ветку: http://bazaar-vcs.org/Branch
80
Следующим шагом нужно сказать Базару какие файлы вы хотите контролировать.
81
Если выполнить ``bzr add`` будет добавлено все что есть в проекте::
83
Следующий шаг |--| сказать Bazaar какие файлы вы хотите контролировать. Команда
84
``bzr add`` рекурсивно добавит все файлы в проект::
88
91
added subdirectory/test4.txt
90
Далее, сохраним текущее состояние ваших файлов при помощи фиксации их в вашей ветке.
91
Добавьте сообщение с объяснением зачем вы их зафиксировали::
93
$ bzr commit -m "Initial import"
95
Т.к. Базар это распределенная система контроля версий, он не соединяется
96
с центральным сервером чтобы сделать фиксацию. Вместо этого, Базар сохраняет
97
вашу ветку и все её фиксации внутри каталога с которым вы работаете;
98
обратите внимание на подкаталог ``.bzr``.
100
Вносим изменения в ваши файлы
101
=============================
103
Давайте изменим файл и зафиксируем это изменение в вашей ветке.
105
Отредактируйте ``test1.txt`` в своем любимом редакторе, потом проверьте
93
Далее, нужно сохранить текущее состояние ваших файлов зафиксировав их в вашей
94
ветке. Добавьте сообщение объясняющее зачем вы сделали фиксацию::
96
$ bzr commit -m "Импортируем файлы"
98
Т.к. Bazaar это распределенная система контроля версий, здесь нет необходимости
99
соединяться с центральным сервером для выполнения фиксации. Вместо этого,
100
Bazaar сохраняет вашу ветку и все её фиксации внутри каталога с которым вы
101
работаете; обратите внимание на подкаталог ``.bzr``.
104
Вносим изменения в файлы
105
========================
107
Давайте изменим какой-либо файл и зафиксируем это изменение в вашей ветке.
109
Отредактируйте ``test1.txt`` в своем любимом редакторе и затем посмотрите на
110
сделанные изменения::
109
113
=== modified file 'test1.txt'
129
134
branch nick: myproject
130
135
timestamp: Mon 2007-10-08 17:56:14 +0000
132
Added first line of text
137
Добавлена первая строка текста
133
138
------------------------------------------------------------
135
140
committer: Vasya Pupkin <vasya.pupkin@mail.ru>
136
141
branch nick: myproject
137
142
timestamp: Mon 2006-10-08 17:46:22 +0000
141
Публикуем вашу ветку через SFTP
142
===============================
144
Есть несколько способов опубликовать вашу ветку. Если у вас уже есть SFTP сервер
145
или удобные настройки для него, вы можете опубликовать свою ветку на нём.
147
В противном случае, пропустите следующий раздел, чтобы опубликовать
148
на Launchpad_ |--| на бесплатном сервисе для размещения файлов Базара.
147
Публикуем ветку через SFTP
148
==========================
150
Есть несколько способов опубликовать вашу ветку. Если у вас уже есть SFTP
151
сервер или вам несложно его настроить, вы можете опубликовать свою ветку через
154
В противном случае, переходите к следующему разделу, чтобы опубликовать ветку
155
на Launchpad_ |--| бесплатном хостинге для Bazaar.
150
157
.. _Launchpad: https://launchpad.net/
152
Предположим, что вы хотите опубликовать свою ветку на
159
Предположим, что вы хотите опубликовать свою ветку на
153
160
``www.example.com/myproject``::
155
162
$ bzr push --create-prefix sftp://your.name@example.com/~/public_html/myproject
156
163
2 revision(s) pushed.
158
Базар создаст каталог ``myproject`` на удаленном сервере и поместит в него
165
Bazaar создаст каталог ``myproject`` на удаленном сервере и поместит в него
161
Теперь кто угодно может создать свою собственную копию вашей ветки, выполнив::
168
Теперь любой желающий сможет создать свою собственную копию вашей ветки,
163
171
$ bzr branch http://www.example.com/myproject
165
**Замечание:** чтобы использовать SFTP, вы дожны установить ``paramiko``
166
и ``pyCrypto``. За подробностями обращайтесь к http://bazaar-vcs.org/InstallationFaq.
168
Публикация собственной ветки на Launchpad
169
=========================================
171
Launchpad это набор инструментов для разработки и размещения проектов свободного
172
программного обеспечения. Вы можете использовать его для публикации своей ветки.
173
**Замечание:** чтобы использовать SFTP, может понадобиться установить
174
``paramiko`` и ``pyCrypto``. За подробностями обращайтесь к
175
http://bazaar-vcs.org/InstallationFaq.
178
Публикация ветки на Launchpad
179
=============================
181
Launchpad это набор инструментов для разработки и размещения проектов
182
свободного программного обеспечения. Вы можете использовать его для публикации
174
185
Если у вас нет учетной записи Launchpad, следуйте
175
186
`руководству по получению учетной записи`_ и `зарегистрируйте SSH ключ`_
178
189
.. _руководству по получению учетной записи: https://help.launchpad.net/CreatingYourLaunchpadAccount
179
190
.. _зарегистрируйте SSH ключ: https://launchpad.net/people/+me/+editsshkeys
181
Заменив ``vasya.pupkin`` на ваше имя пользователя в Launchpad, выполните::
192
Заменив ``vasya.pupkin`` на ваше имя пользователя Launchpad, выполните::
183
194
$ bzr push bzr+ssh://vasya.pupkin@bazaar.launchpad.net/~vasya.pupkin/+junk/myproject
185
**Замечание:** ``+junk`` означает что ветка не связана с каким либо проектом
196
**Замечание:** ``+junk`` означает что ветка не связана с каким-либо проектом на
188
Теперь кто угодно может создать свою собственную копию вашей ветки, выполнив::
199
Теперь любой желающий сможет создать свою собственную копию вашей ветки,
190
202
$ bzr branch http://bazaar.launchpad.net/~vasya.pupkin/+junk/myproject
192
Вы также можете ознакомиться с информацией по вашей ветке,
193
включая журнал изменений, по адресу https://code.launchpad.net/people/+me/+junk/myproject
204
Вы также сможете видеть информацию по вашей ветке, включая журнал изменений, по
205
адресу https://code.launchpad.net/people/+me/+junk/myproject
195
208
Создаем собственную копию другой ветки
196
209
======================================
198
Чтобы работать с чьим либо кодом, вы можете создать собственную копию чужой ветки.
199
Давайте возьмем пример из реального мира |--| GTK интерфейс для Bazaar::
211
Чтобы работать с чьим-либо кодом, вы можете создать собственную копию чужой
212
ветки. Давайте возьмем реальный пример |--| GTK интерфейс для Bazaar::
201
214
$ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.vasya
202
215
Branched 292 revision(s).
204
Базар загрузит все файлы и полный журнал изменений из главной ветки проекта
217
Bazaar загрузит все файлы и полный журнал изменений из основной ветки проекта
205
218
bzr-gtk и создаст копию с именем bzr-gtk.vasya.
207
Теперь, у вас есть собственная копия ветки и вы можете фиксировать изменения
208
с или без сетевого подключения. Вы можете поделиться своей работой в любое время,
209
опубликовав ветку. И если команда разработчиков bzr-gtk захочет использовать
210
вашу работу, Базар легко позволит им объединить вашу ветку с их главной веткой.
212
Обновляем вашу ветку изменениями из главной ветки
213
=================================================
215
Пока вы фиксируете изменения в вашей ветке, другие люди, скорее всего,
216
так же продолжают фиксировать код в родительской ветке.
218
Чтобы быть увереным что ваша ветка содержит последние правки из главной ветки,
219
вам следует объединить свою ветку с родительской::
220
Теперь у вас есть собственная копия ветки и вы можете фиксировать изменения и с
221
сетевым подключением и без него. Вы можете поделиться своей веткой в любое
222
время, опубликовав ветку. И если команда разработчиков bzr-gtk захочет
223
использовать вашу работу, Bazaar легко позволит им объединить вашу ветку
224
обратно в их основную ветку.
226
Обновляем ветку изменениями из основной ветки
227
=============================================
229
Пока вы фиксируете изменения в вашей ветке, другие люди, скорее всего, так же
230
продолжают фиксировать код в родительской ветке.
232
Чтобы быть уверенным что ваша ветка содержит последние изменения, вам следует
233
объединить родительскую ветку с вашей личной::
222
236
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
229
243
Если изменения вас устраивают, вы можете зафиксировать их в своей ветке::
231
$ bzr commit -m "Merge from main branch"
245
$ bzr commit -m "Изменения из основной ветки"
232
246
Committed revision 295.
234
Обновляем родительскую ветку вашими наработками
249
Объединяем свои изменения с родительской веткой
235
250
===============================================
237
После того как вы поработали в своей ветке bzr-gtk, вы можете захотеть
238
отправить ваши изменения для включения в проект. Простейший способ заключается
252
После того как вы поработали в своей ветке bzr-gtk, вы можете захотеть
253
отправить ваши изменения для включения в проект. Простейший способ заключается
239
254
в использовании директивы объединения.
241
Директива объединения |--| это машиночитаемый запрос на осуществление
242
конкретного объединения. Обычно он содержит превью изменений, которые
243
планируется объединить. Также директива объединения содержит либо
244
необходимые ревизии, либо указывает на ветку где они могут быть получены.
256
Директива объединения |--| это машиночитаемый запрос на осуществление
257
конкретного объединения. Обычно он содержит обзор изменений, которые
258
планируется объединить. Также директива объединения содержит либо необходимые
259
ревизии, либо указывает на ветку где они могут быть получены.
246
261
Заменив ``mycode.patch``, создайте свою директиву объединения::
248
263
$ bzr send -o mycode.patch
249
264
Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
251
Теперь вы можете отправить по электронной почте директиву объединения
266
Теперь вы можете отправить директиву объединения по электронной почте
252
267
в проект bzr-gtk. Если разработчики bzr-gtk захотят, то смогут использовать
253
268
эту директиву для включения вашей работы в основную ветку.
258
Больше информации о Базаре вы найдете в
259
`Руководстве пользователя Базара <../user-guide/index.html>`_.
274
Больше информации о Bazaar вы найдете в
275
`Руководстве пользователя Bazaar <../user-guide/index.html>`_.
261
Чтобы узнать больше о Базаре из командой строки::
277
Чтобы узнать больше о Bazaar из командой строки::
265
Чтобы узнать основные команды Базара::
281
Чтобы узнать основные команды Bazaar::
267
283
$ bzr help commands