~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Latest bzr.dev

Show diffs side-by-side

added added

removed removed

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