~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

(igc) What's New in Bazaar 2.1 document

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