~bzr-pqm/bzr/bzr.dev

4634.99.1 by Naoki INADA
import doc-ja rev90
1
=================
2
5分でわかるBazaar
3
=================
4
5
.. _introduction:
6
7
イントロダクション
8
===================
9
10
Bazaarは分散型バージョン管理システムで、ソフトウェアプロジェクトの共同作業を楽にしてくれます。
11
12
これから5分ほどで、ファイルをバージョン管理下に置き、変更をそれらに記録して、\
13
作業内容を確認し、公開して作業内容をマージしてもらうためにプロジェクトのtrunkに\
14
送る方法などを学びます。
15
16
詳細な紹介内容を望むのであれば、 `さらに学ぶ`_ をご覧ください。
17
18
19
インストール方法
20
=================
21
22
このガイドではBazaarをインストールする方法を説明しませんが、通常はとても簡単です。
23
インストール方法の手引きは次の通りです:
24
25
- **GNU/Linux:** おそらくBazaarはあなたのGNU/Linuxディストリビューションに含まれています。
26
- **Windows:** `Windowsのためのインストールの手引き`_.
27
- **Mac OS X:** `Mac OS Xのためのインストールの手引き`_.
28
29
別のプラットフォームとソースコードからインストールする方法に関しては、 ダウンロード_
30
と インストール方法_ のページを参照してください。
31
32
.. _Windowsのためのインストールの手引き: http://bazaar-vcs.org/WindowsDownloads
33
.. _Mac OS Xのためのインストールの手引き: http://bazaar-vcs.org/MacOSXBundle
34
.. _ダウンロード: http://bazaar-vcs.org/Download
35
.. _インストール方法: http://bazaar-vcs.org/InstallationFaq
36
37
38
まずは自己紹介
39
=================
40
41
作業にとりかかる前に、まずあなたが誰なのかをBazaarに教えてあげましょう。
42
そうすることで、履歴の中からあなたの作業を正確に識別することができます。
43
44
次のように入力してください(もちろん、あなたの名前とEメールアドレスで)::
45
46
  $ bzr whoami "John Doe <john.doe@gmail.com>"
47
48
こうするとBazaarは、あなたの名前やEメールアドレスが入った設定ファイルを作成\
49
もしくは修正します。
50
51
名前とEメールアドレスが正しく登録されているか確認しましょう ::
52
53
  $ bzr whoami
54
  John Doe <john.doe@gmail.com>
55
56
57
ファイルをバージョン管理する
58
=============================
59
60
Bazaarで扱うディレクトリといくつかのファイルを作りましょう::
61
62
 $ mkdir myproject
63
 $ cd myproject
64
 $ mkdir subdirectory
65
 $ touch test1.txt test2.txt test3.txt subdirectory/test4.txt
66
67
**Windowsユーザーのための注意:** Windows Explorerを使ってディレクトリを作成し、\
68
そのディレクトリの中で右クリックをして ``新規作成`` を選択し、ファイルを作成します。
69
70
Bazaarにあなたのプロジェクトディレクトリを初期化させましょう::
71
72
  $ bzr init
73
74
何も起きていないように見えても心配しないでください。
75
Bazaarはファイルとリビジョンの履歴を保存する branch_ を作りました。
76
77
.. _branch: http://bazaar-vcs.org/Branch
78
79
次のステップはBazaarに管理して欲しいファイルを教えることです。
4634.99.2 by Naoki INADA
import doc-ja r91
80
``bzr add`` を実行するとすべてのディレクトリとファイルがプロジェクトに\
4634.99.1 by Naoki INADA
import doc-ja rev90
81
再帰的に追加されます::
82
83
 $ bzr add
84
 added subdirectory
85
 added test1.txt
86
 added test2.txt
87
 added test3.txt
88
 added subdirectory/test4.txt
89
90
次に、これらをブランチにコミットしてスナップショットをとります。
91
コミットを行った理由を説明するメッセージを追加します::
92
93
  $ bzr commit -m "Initial import"
94
95
Bazaarは分散型バージョン管理システムなので、コミットするために\
96
サーバーに接続する必要はありません。
97
代わりに、Bazaarはブランチとすべてのコミットをあなたが作業している\
98
ディレクトリ内部に保存します;
99
``.bzr`` というサブディレクトリをご覧ください。
100
101
102
ファイルを変更する
103
===================
104
105
ファイルを変更してブランチにその変更をコミットしてみましょう。
106
107
好きなエディタで ``test1.txt`` を編集し、何を行ったのかを確認します::
108
109
 $ bzr diff
110
 === modified file 'test1.txt'
111
 --- test1.txt   2007-10-08 17:56:14 +0000
112
 +++ test1.txt   2007-10-08 17:46:22 +0000
113
 @@ -0,0 +1,1 @@
114
 +test test test
115
116
作業をBazaarのブランチにコミットします::
117
118
  $ bzr commit -m "Added first line of text"
119
  Committed revision 2.
120
121
122
リビジョンのログを眺める
123
=========================
124
125
ログを閲覧することでブランチの履歴がわかります::
126
127
  $ bzr log
128
  ------------------------------------------------------------
129
  revno: 2
130
  committer: John Doe <john.doe@gmail.com>
131
  branch nick: myproject
132
  timestamp: Mon 2007-10-08 17:56:14 +0000
133
  message:
134
    Added first line of text
135
  ------------------------------------------------------------
136
  revno: 1
137
  committer: John Doe <john.doe@gmail.com>
138
  branch nick: myproject
139
  timestamp: Mon 2006-10-08 17:46:22 +0000
140
  message:
141
    Initial import
142
143
144
sftpでブランチを公開する
145
=========================
146
147
ブランチを公開する方法は複数あります。
148
SFTPサーバーがすでにあるもしくは容易にセットアップできるのであれば、\
149
ブランチをそこで公開できます。
150
151
そうでなければ、このセクションをとばして、Bazaarのための無料ホスティング\
152
サービスである、 Launchpad_ で公開しましょう。
153
154
.. _Launchpad: https://launchpad.net/
155
156
``www.example.com/myproject`` でブランチを公開することを前提とします::
157
158
 $ bzr push --create-prefix sftp://your.name@example.com/~/public_html/myproject
159
 2 revision(s) pushed.
160
161
Bazaarはリモートサーバー上で ``myproject`` ディレクトリを作りブランチを\
162
そこにpushします。
163
164
これで誰でも次のコマンドを入力すればあなたのブランチをコピーできます::
165
166
 $ bzr branch http://www.example.com/myproject
167
168
**注:** sftpを使うためには、 ``paramiko`` と ``pyCrypto`` をインストールする必要があります。
169
詳細は http://bazaar-vcs.org/InstallationFaq を参照してください。
170
171
172
Launchpadでブランチを公開する
173
==============================
174
175
Launchpadはフリーソフトウェアのための開発とホスティングのためのツールが\
176
ひとまとめになったものです。これをブランチを公開するために利用できます。
177
178
Launchpadのアカウントを持っていなければ、 `アカウントのサインアップのガイド`_
179
に従ってアカウントを作り、 `SSHキーを登録`_ してください。
180
181
.. _アカウントのサインアップのガイド: https://help.launchpad.net/CreatingYourLaunchpadAccount
182
.. _SSHキーを登録: https://launchpad.net/people/+me/+editsshkeys
183
184
次のコマンドを(``john.doe`` を自分のLaunchpadアカウント名に変更して)実行してください::
185
186
 $ bzr push bzr+ssh://john.doe@bazaar.launchpad.net/~john.doe/+junk/myproject
187
188
**注:** ``+junk`` はこのブランチがLaunchpad上の特定のプロジェクトに関連していないことを意味します。
189
190
これで、誰でも次のコマンドを入力することでブランチのコピーを作ることができます::
191
192
 $ bzr branch http://bazaar.launchpad.net/~john.doe/+junk/myproject
193
194
ブランチとリビジョンの履歴に関する情報は https://code.launchpad.net/people/+me/+junk/myproject
195
でも見ることができます。
196
197
別のブランチから自分用のコピーを作る
198
=====================================
199
200
他人のコードに取り組むために、ブランチのコピーを作ることができます。
201
実際の世界の例として、BazaarのGTKインターフェイスを見てみましょう::
202
203
  $ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.john
204
  Branched 292 revision(s).
205
206
Bazaarはbzr-gtkのtrunkブランチからすべてのファイルをダウンロードして\
207
リビジョンの履歴をそろえ、bzr-gtk.johnというコピーを作ります。
208
209
これで、ブランチのコピーを手に入れたのでネットの接続のあるなしに\
210
関わらず変更をコミットできます。
211
ブランチはいつでも公開することで共有でき、bzr-gtkチームがあなたの作品を\
212
使いたいと思ったときにBazaarは彼らがあなたのブランチから彼らのブランチに\
213
マージし直す作業を簡単にしてくれます。
214
215
216
メインのブランチから自分のブランチを更新する
217
=============================================
218
219
変更を自分のブランチにコミットする一方で、他の人がコードを親のブランチに\
220
コミットしているということもよくあります。
221
222
自分のブランチを最新に維持するには、親ブランチから自分のブランチへと変更を\
223
マージします::
224
225
  $ bzr merge
226
  Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
227
  All changes applied successfully.
228
229
何が変更されたのか確認します::
230
231
  $ bzr diff
232
233
変更に満足したら、それらを自分のブランチにコミットします::
234
235
  $ bzr commit -m "Merge from main branch"
236
  Committed revision 295.
237
238
239
作業を親のブランチにマージする
240
==============================
241
242
bzr-gtkの個人ブランチに取り組んだ後で、あなたの変更を上流のプロジェクトに\
243
戻したいことがあるかもしれません。
244
最も簡単な方法はマージディレクティブを使うことです。
245
246
マージディレクティブ(merge directive)とは、コンピュータに特定のマージを実行\
247
させるためのリクエストです。
248
マージディレクティブは大抵、マージをレビューするためのパッチと、マージを実行する\
249
のに必要となるリビジョン、もしくはリビジョンを取得できるブランチを含みます。
250
251
次のコマンドの ``mycode.patch`` を適当な名前に書き換えて、マージのディレクティブを作ります::
252
253
 $ bzr send -o mycode.patch
254
 Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
255
256
これでbzr-gtkのプロジェクトにマージディレクティブをEメールで送ることが可能に\
257
なりました。彼らが納得すれば、親ブランチにマージすることができます。
258
259
260
さらに学ぶ
261
==========
262
263
Bazaarに関する詳細な内容は `Bazaarのユーザーガイド <../user-guide/index.html>`_ で調べることができます。
264
265
コマンドラインでBazaarを学ぶには::
266
267
  $ bzr help
268
269
Bazaarのコマンドを学ぶには::
270
271
  $ bzr help commands
272
273
''foo'' トピックもしくはコマンドを学ぶには::
274
275
  $ bzr help foo