~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/ru/mini-tutorial/index.txt

  • Committer: Dmitry Vasiliev
  • Date: 2009-05-05 21:16:12 UTC
  • mto: (4426.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4427.
  • Revision ID: dima@hlabs.spb.ru-20090505211612-gm9n2bkt9lsy96cd
mini-tutorial: updates and fixes

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
======================
2
 
Базар за пять минут
 
2
Bazaar за пять минут
3
3
======================
4
4
 
5
5
.. contents::
8
8
Введение
9
9
========
10
10
 
11
 
Базар |--| это распределенная система контроля версий, которая упрощает совместную 
12
 
работу над программными проектами.
 
11
Bazaar |--| это распределенная система контроля версий, которая упрощает
 
12
совместную работу над программными проектами.
13
13
 
14
 
В течении следующих пяти минут, вы узнаете как начать контролиривать версии 
15
 
ваших файлов, как вносить изменения, проверять вашу работу, публиковать её 
16
 
и отправлять вашу работу для добавления к главной ветке проекта.
 
14
В течении следующих пяти минут, вы узнаете как начать контролировать версии
 
15
ваших файлов, как вносить изменения, проверять вашу работу, публиковать её и
 
16
отправлять для объединения с главной веткой проекта.
17
17
 
18
18
Если вы предпочитаете более подробное введение, обратитесь к разделу 
19
19
`Узнать больше`_.
21
21
Установка
22
22
=========
23
23
 
24
 
Это руководство не описывает как установить Базар, потому что обычно 
 
24
Это руководство не описывает как установить Bazaar, потому что обычно 
25
25
это очень легко. Инструкции по установке вы найдете тут:
26
26
 
27
 
- **GNU/Linux:** скорее всего Базар уже присутствует в вашем дистрибутиве GNU/Linux.
 
27
- **GNU/Linux:** скорее всего Bazaar уже присутствует в вашем дистрибутиве GNU/Linux.
28
28
- **Windows:** `инструкции по установке для Windows`_.
29
29
- **Mac OS X:** `инструкции по установке для Mac OS X`_.
30
30
 
39
39
Представьтесь
40
40
=============
41
41
 
42
 
Прежде чем начать работать, было бы неплохо сообщить Базару кто вы такой. 
43
 
В этом случае ваша работа будет корректно отражена в истории версий.
 
42
Прежде чем начать работать, было бы неплохо сообщить Bazaar кто вы такой. 
 
43
В этом случае ваша работа будет корректно идентифицирована в истории ревизий.
44
44
 
45
 
Используйте ваше имя и адрес электронной почты, вместо Васи Пупкина, напишите::
 
45
Используя ваше имя и адрес электронной почты, вместо данных Васи Пупкина,
 
46
наберите::
46
47
 
47
48
    $ bzr whoami "Vasya Pupkin <vasya.pupkin@mail.ru>"
48
49
 
49
 
Базар создаст или подправит файл настроек, включив в него ваше имя 
50
 
и адрес электронной почты.
 
50
В этот момент Bazaar создаст или исправит файл настроек, включив в него ваше
 
51
имя и адрес электронной почты.
51
52
 
52
 
Теперь, проверьте правильно ли установлены ваше имя и адрес электронной почты::
 
53
Теперь, проверьте правильно ли сохранены ваши имя и адрес::
53
54
 
54
55
    $ bzr whoami
55
56
    Vasya Pupkin <vasya.pupkin@mail.ru>
56
57
 
 
58
 
57
59
Начинаем контролировать версии файлов
58
60
=====================================
59
61
 
60
 
Создадим каталог и какие-нибудь файлы для использования с Базаром::
 
62
Давайте создадим каталог и несколько файлов для использования с Bazaar::
61
63
 
62
64
    $ mkdir myproject
63
65
    $ cd myproject
68
70
для создания ваших каталогов, затем нажимайте правую кнопку мыши 
69
71
в этих каталогах и выбирайте ``Новый файл``, чтобы создать ваши файлы.
70
72
 
71
 
Теперь дадим Базару возможность настроить рабочее место в каталоге вашего проекта::
 
73
Теперь дадим Bazaar возможность инициализировать свои данные в каталоге вашего
 
74
проекта::
72
75
 
73
76
    $ bzr init
74
77
 
75
 
Если всё выглядит так, как будто ничего не случилось |--| не волнуйтесь. 
76
 
Базар создал ветку_, в которой он будет хранить рабочие файлы и историю их изменений.
 
78
Если всё выглядит так, как будто ничего не случилось |--| не волнуйтесь. Bazaar
 
79
создал ветку_, в которой он будет хранить рабочие файлы и историю их изменений.
77
80
 
78
81
.. _ветку: http://bazaar-vcs.org/Branch
79
82
 
80
 
Следующим шагом нужно сказать Базару какие файлы вы хотите контролировать. 
81
 
Если выполнить ``bzr add`` будет добавлено все что есть в проекте::
 
83
Следующий шаг |--| сказать Bazaar какие файлы вы хотите контролировать. Команда
 
84
``bzr add`` рекурсивно добавит все файлы в проект::
82
85
 
83
86
    $ bzr add
84
87
    added subdirectory
87
90
    added test3.txt
88
91
    added subdirectory/test4.txt
89
92
 
90
 
Далее, сохраним текущее состояние ваших файлов при помощи фиксации их в вашей ветке. 
91
 
Добавьте сообщение с объяснением зачем вы их зафиксировали::
92
 
 
93
 
        $ bzr commit -m "Initial import"
94
 
 
95
 
Т.к. Базар это распределенная система контроля версий, он не соединяется 
96
 
с центральным сервером чтобы сделать фиксацию. Вместо этого, Базар сохраняет 
97
 
вашу ветку и все её фиксации внутри каталога с которым вы работаете; 
98
 
обратите внимание на подкаталог ``.bzr``.
99
 
 
100
 
Вносим изменения в ваши файлы
101
 
=============================
102
 
 
103
 
Давайте изменим файл и зафиксируем это изменение в вашей ветке.
104
 
 
105
 
Отредактируйте ``test1.txt`` в своем любимом редакторе, потом проверьте 
106
 
что вы сделали::
 
93
Далее, нужно сохранить текущее состояние ваших файлов зафиксировав их в вашей
 
94
ветке. Добавьте сообщение объясняющее зачем вы сделали фиксацию::
 
95
 
 
96
        $ bzr commit -m "Импортируем файлы"
 
97
 
 
98
Т.к. Bazaar это распределенная система контроля версий, здесь нет необходимости
 
99
соединяться с центральным сервером для выполнения фиксации. Вместо этого,
 
100
Bazaar сохраняет вашу ветку и все её фиксации внутри каталога с которым вы
 
101
работаете; обратите внимание на подкаталог ``.bzr``.
 
102
 
 
103
 
 
104
Вносим изменения в файлы
 
105
========================
 
106
 
 
107
Давайте изменим какой-либо файл и зафиксируем это изменение в вашей ветке.
 
108
 
 
109
Отредактируйте ``test1.txt`` в своем любимом редакторе и затем посмотрите на
 
110
сделанные изменения::
107
111
 
108
112
    $ bzr diff
109
113
    === modified file 'test1.txt'
112
116
    @@ -0,0 +1,1 @@
113
117
    +test test test
114
118
 
115
 
Зафиксируем вашу работу в ветке Базара::
 
119
Зафиксируйте вашу работу в ветке Bazaar::
116
120
 
117
 
    $ bzr commit -m "Added first line of text"
 
121
    $ bzr commit -m "Добавлена первая строка текста"
118
122
    Committed revision 2.
119
123
 
 
124
 
120
125
Просматриваем журнал изменений
121
126
==============================
122
127
 
129
134
    branch nick: myproject
130
135
    timestamp: Mon 2007-10-08 17:56:14 +0000
131
136
    message:
132
 
    Added first line of text
 
137
      Добавлена первая строка текста
133
138
    ------------------------------------------------------------
134
139
    revno: 1
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
138
143
    message:
139
 
    Initial import
140
 
 
141
 
Публикуем вашу ветку через SFTP
142
 
===============================
143
 
 
144
 
Есть несколько способов опубликовать вашу ветку. Если у вас уже есть SFTP сервер 
145
 
или удобные настройки для него, вы можете опубликовать свою ветку на нём.
146
 
 
147
 
В противном случае, пропустите следующий раздел, чтобы опубликовать 
148
 
на Launchpad_ |--| на бесплатном сервисе для размещения файлов Базара.
 
144
      Импортируем файлы
 
145
 
 
146
 
 
147
Публикуем ветку через SFTP
 
148
==========================
 
149
 
 
150
Есть несколько способов опубликовать вашу ветку. Если у вас уже есть SFTP
 
151
сервер или вам несложно его настроить, вы можете опубликовать свою ветку через
 
152
него.
 
153
 
 
154
В противном случае, переходите к следующему разделу, чтобы опубликовать ветку
 
155
на Launchpad_ |--| бесплатном хостинге для Bazaar.
149
156
 
150
157
.. _Launchpad: https://launchpad.net/
151
158
 
152
 
Предположим, что вы хотите опубликовать свою ветку на 
 
159
Предположим, что вы хотите опубликовать свою ветку на
153
160
``www.example.com/myproject``::
154
161
 
155
162
    $ bzr push --create-prefix sftp://your.name@example.com/~/public_html/myproject
156
163
    2 revision(s) pushed.
157
164
 
158
 
Базар создаст каталог ``myproject`` на удаленном сервере и поместит в него 
 
165
Bazaar создаст каталог ``myproject`` на удаленном сервере и поместит в него
159
166
вашу ветку.
160
167
 
161
 
Теперь кто угодно может создать свою собственную копию вашей ветки, выполнив::
 
168
Теперь любой желающий сможет создать свою собственную копию вашей ветки,
 
169
выполнив::
162
170
 
163
171
    $ bzr branch http://www.example.com/myproject
164
172
 
165
 
**Замечание:** чтобы использовать SFTP, вы дожны установить ``paramiko`` 
166
 
и ``pyCrypto``. За подробностями обращайтесь к http://bazaar-vcs.org/InstallationFaq.
167
 
 
168
 
Публикация собственной ветки на Launchpad
169
 
=========================================
170
 
 
171
 
Launchpad это набор инструментов для разработки и размещения проектов свободного 
172
 
программного обеспечения. Вы можете использовать его для публикации своей ветки.
 
173
**Замечание:** чтобы использовать SFTP, может понадобиться установить
 
174
``paramiko`` и ``pyCrypto``. За подробностями обращайтесь к
 
175
http://bazaar-vcs.org/InstallationFaq.
 
176
 
 
177
 
 
178
Публикация ветки на Launchpad
 
179
=============================
 
180
 
 
181
Launchpad это набор инструментов для разработки и размещения проектов
 
182
свободного программного обеспечения. Вы можете использовать его для публикации
 
183
своей ветки.
173
184
 
174
185
Если у вас нет учетной записи Launchpad, следуйте 
175
186
`руководству по получению учетной записи`_ и `зарегистрируйте SSH ключ`_ 
178
189
.. _руководству по получению учетной записи: https://help.launchpad.net/CreatingYourLaunchpadAccount
179
190
.. _зарегистрируйте SSH ключ: https://launchpad.net/people/+me/+editsshkeys
180
191
 
181
 
Заменив ``vasya.pupkin`` на ваше имя пользователя в Launchpad, выполните::
 
192
Заменив ``vasya.pupkin`` на ваше имя пользователя Launchpad, выполните::
182
193
 
183
194
        $ bzr push bzr+ssh://vasya.pupkin@bazaar.launchpad.net/~vasya.pupkin/+junk/myproject
184
195
 
185
 
**Замечание:** ``+junk`` означает что ветка не связана с каким либо проектом 
186
 
на Launchpad.
 
196
**Замечание:** ``+junk`` означает что ветка не связана с каким-либо проектом на
 
197
Launchpad.
187
198
 
188
 
Теперь кто угодно может создать свою собственную копию вашей ветки, выполнив::
 
199
Теперь любой желающий сможет создать свою собственную копию вашей ветки,
 
200
выполнив::
189
201
 
190
202
        $ bzr branch http://bazaar.launchpad.net/~vasya.pupkin/+junk/myproject
191
203
 
192
 
Вы также можете ознакомиться с информацией по вашей ветке, 
193
 
включая журнал изменений, по адресу https://code.launchpad.net/people/+me/+junk/myproject
 
204
Вы также сможете видеть информацию по вашей ветке, включая журнал изменений, по
 
205
адресу https://code.launchpad.net/people/+me/+junk/myproject
 
206
 
194
207
 
195
208
Создаем собственную копию другой ветки
196
209
======================================
197
210
 
198
 
Чтобы работать с чьим либо кодом, вы можете создать собственную копию чужой ветки. 
199
 
Давайте возьмем пример из реального мира |--| GTK интерфейс для Bazaar::
 
211
Чтобы работать с чьим-либо кодом, вы можете создать собственную копию чужой
 
212
ветки. Давайте возьмем реальный пример |--| GTK интерфейс для Bazaar::
200
213
 
201
214
    $ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.vasya
202
215
    Branched 292 revision(s).
203
216
 
204
 
Базар загрузит все файлы и полный журнал изменений из главной ветки проекта 
 
217
Bazaar загрузит все файлы и полный журнал изменений из основной ветки проекта
205
218
bzr-gtk и создаст копию с именем bzr-gtk.vasya.
206
219
 
207
 
Теперь, у вас есть собственная копия ветки и вы можете фиксировать изменения 
208
 
с или без сетевого подключения. Вы можете поделиться своей работой в любое время, 
209
 
опубликовав ветку. И если команда разработчиков bzr-gtk захочет использовать 
210
 
вашу работу, Базар легко позволит им объединить вашу ветку с их главной веткой.
211
 
 
212
 
Обновляем вашу ветку изменениями из главной ветки
213
 
=================================================
214
 
 
215
 
Пока вы фиксируете изменения в вашей ветке, другие люди, скорее всего, 
216
 
так же продолжают фиксировать код в родительской ветке.
217
 
 
218
 
Чтобы быть увереным что ваша ветка содержит последние правки из главной ветки, 
219
 
вам следует объединить свою ветку с родительской::
 
220
Теперь у вас есть собственная копия ветки и вы можете фиксировать изменения и с
 
221
сетевым подключением и без него. Вы можете поделиться своей веткой в любое
 
222
время, опубликовав ветку. И если команда разработчиков bzr-gtk захочет
 
223
использовать вашу работу, Bazaar легко позволит им объединить вашу ветку
 
224
обратно в их основную ветку.
 
225
 
 
226
Обновляем ветку изменениями из основной ветки
 
227
=============================================
 
228
 
 
229
Пока вы фиксируете изменения в вашей ветке, другие люди, скорее всего, так же
 
230
продолжают фиксировать код в родительской ветке.
 
231
 
 
232
Чтобы быть уверенным что ваша ветка содержит последние изменения, вам следует
 
233
объединить родительскую ветку с вашей личной::
220
234
 
221
235
    $ bzr merge
222
236
    Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
228
242
 
229
243
Если изменения вас устраивают, вы можете зафиксировать их в своей ветке::
230
244
 
231
 
    $ bzr commit -m "Merge from main branch"
 
245
    $ bzr commit -m "Изменения из основной ветки"
232
246
    Committed revision 295.
233
247
 
234
 
Обновляем родительскую ветку вашими наработками
 
248
 
 
249
Объединяем свои изменения с родительской веткой
235
250
===============================================
236
251
 
237
 
После того как вы поработали в своей ветке bzr-gtk, вы можете захотеть 
238
 
отправить ваши изменения для включения в проект. Простейший способ заключается 
 
252
После того как вы поработали в своей ветке bzr-gtk, вы можете захотеть
 
253
отправить ваши изменения для включения в проект. Простейший способ заключается
239
254
в использовании директивы объединения.
240
255
 
241
 
Директива объединения |--| это машиночитаемый запрос на осуществление 
242
 
конкретного объединения. Обычно он содержит превью изменений, которые 
243
 
планируется объединить. Также директива объединения содержит либо 
244
 
необходимые ревизии, либо указывает на ветку где они могут быть получены.
 
256
Директива объединения |--| это машиночитаемый запрос на осуществление
 
257
конкретного объединения. Обычно он содержит обзор изменений, которые
 
258
планируется объединить. Также директива объединения содержит либо необходимые
 
259
ревизии, либо указывает на ветку где они могут быть получены.
245
260
 
246
261
Заменив ``mycode.patch``, создайте свою директиву объединения::
247
262
 
248
263
    $ bzr send -o mycode.patch
249
264
    Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
250
265
 
251
 
Теперь вы можете отправить по электронной почте директиву объединения 
 
266
Теперь вы можете отправить директиву объединения по электронной почте
252
267
в проект bzr-gtk. Если разработчики bzr-gtk захотят, то смогут использовать 
253
268
эту директиву для включения вашей работы в основную ветку.
254
269
 
 
270
 
255
271
Узнать больше
256
272
=============
257
273
 
258
 
Больше информации о Базаре вы найдете в 
259
 
`Руководстве пользователя Базара <../user-guide/index.html>`_.
 
274
Больше информации о Bazaar вы найдете в 
 
275
`Руководстве пользователя Bazaar <../user-guide/index.html>`_.
260
276
 
261
 
Чтобы узнать больше о Базаре из командой строки::
 
277
Чтобы узнать больше о Bazaar из командой строки::
262
278
 
263
279
    $ bzr help
264
280
 
265
 
Чтобы узнать основные команды Базара::
 
281
Чтобы узнать основные команды Bazaar::
266
282
 
267
283
    $ bzr help commands
268
284