10
Bazaarは分散型バージョン管理システムで、ソフトウェアプロジェクトの共同作業を楽にしてくれます。
12
これから5分ほどで、ファイルをバージョン管理下に置き、変更をそれらに記録して、\
13
作業内容を確認し、公開して作業内容をマージしてもらうためにプロジェクトのtrunkに\
16
詳細な紹介内容を望むのであれば、 `さらに学ぶ`_ をご覧ください。
22
このガイドではBazaarをインストールする方法を説明しませんが、通常はとても簡単です。
25
- **GNU/Linux:** おそらくBazaarはあなたのGNU/Linuxディストリビューションに含まれています。
26
- **Windows:** `Windowsのためのインストールの手引き`_.
27
- **Mac OS X:** `Mac OS Xのためのインストールの手引き`_.
29
別のプラットフォームとソースコードからインストールする方法に関しては、 ダウンロード_
30
と インストール方法_ のページを参照してください。
32
.. _Windowsのためのインストールの手引き: http://wiki.bazaar.canonical.com/WindowsDownloads
33
.. _Mac OS Xのためのインストールの手引き: http://wiki.bazaar.canonical.com/MacOSXBundle
34
.. _ダウンロード: http://wiki.bazaar.canonical.com/Download
35
.. _インストール方法: http://wiki.bazaar.canonical.com/InstallationFaq
41
作業にとりかかる前に、まずあなたが誰なのかをBazaarに教えてあげましょう。
42
そうすることで、履歴の中からあなたの作業を正確に識別することができます。
44
次のように入力してください(もちろん、あなたの名前とEメールアドレスで)::
46
$ bzr whoami "John Doe <john.doe@gmail.com>"
48
こうするとBazaarは、あなたの名前やEメールアドレスが入った設定ファイルを作成\
51
名前とEメールアドレスが正しく登録されているか確認しましょう ::
54
John Doe <john.doe@gmail.com>
58
=============================
60
Bazaarで扱うディレクトリといくつかのファイルを作りましょう::
65
$ touch test1.txt test2.txt test3.txt subdirectory/test4.txt
67
**Windowsユーザーのための注意:** Windows Explorerを使ってディレクトリを作成し、\
68
そのディレクトリの中で右クリックをして ``新規作成`` を選択し、ファイルを作成します。
70
Bazaarにあなたのプロジェクトディレクトリを初期化させましょう::
74
何も起きていないように見えても心配しないでください。
75
Bazaarはファイルとリビジョンの履歴を保存する branch_ を作りました。
77
.. _branch: http://wiki.bazaar.canonical.com/Branch
79
次のステップはBazaarに管理して欲しいファイルを教えることです。
80
``bzr add`` を実行するとすべてのディレクトリとファイルがプロジェクトに\
88
added subdirectory/test4.txt
90
次に、これらをブランチにコミットしてスナップショットをとります。
91
コミットを行った理由を説明するメッセージを追加します::
93
$ bzr commit -m "Initial import"
95
Bazaarは分散型バージョン管理システムなので、コミットするために\
97
代わりに、Bazaarはブランチとすべてのコミットをあなたが作業している\
99
``.bzr`` というサブディレクトリをご覧ください。
105
ファイルを変更してブランチにその変更をコミットしてみましょう。
107
好きなエディタで ``test1.txt`` を編集し、何を行ったのかを確認します::
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
116
作業をBazaarのブランチにコミットします::
118
$ bzr commit -m "Added first line of text"
119
Committed revision 2.
123
=========================
125
ログを閲覧することでブランチの履歴がわかります::
128
------------------------------------------------------------
130
committer: John Doe <john.doe@gmail.com>
131
branch nick: myproject
132
timestamp: Mon 2007-10-08 17:56:14 +0000
134
Added first line of text
135
------------------------------------------------------------
137
committer: John Doe <john.doe@gmail.com>
138
branch nick: myproject
139
timestamp: Mon 2006-10-08 17:46:22 +0000
145
=========================
148
SFTPサーバーがすでにあるもしくは容易にセットアップできるのであれば、\
151
そうでなければ、このセクションをとばして、Bazaarのための無料ホスティング\
152
サービスである、 Launchpad_ で公開しましょう。
154
.. _Launchpad: https://launchpad.net/
156
``www.example.com/myproject`` でブランチを公開することを前提とします::
158
$ bzr push --create-prefix sftp://your.name@example.com/~/public_html/myproject
159
2 revision(s) pushed.
161
Bazaarはリモートサーバー上で ``myproject`` ディレクトリを作りブランチを\
164
これで誰でも次のコマンドを入力すればあなたのブランチをコピーできます::
166
$ bzr branch http://www.example.com/myproject
168
**注:** sftpを使うためには、 ``paramiko`` と ``pyCrypto`` をインストールする必要があります。
169
詳細は http://wiki.bazaar.canonical.com/InstallationFaq を参照してください。
173
==============================
175
Launchpadはフリーソフトウェアのための開発とホスティングのためのツールが\
176
ひとまとめになったものです。これをブランチを公開するために利用できます。
178
Launchpadのアカウントを持っていなければ、 `アカウントのサインアップのガイド`_
179
に従ってアカウントを作り、 `SSHキーを登録`_ してください。
181
.. _アカウントのサインアップのガイド: https://help.launchpad.net/CreatingYourLaunchpadAccount
182
.. _SSHキーを登録: https://launchpad.net/people/+me/+editsshkeys
184
次のコマンドを(``john.doe`` を自分のLaunchpadアカウント名に変更して)実行してください::
186
$ bzr push bzr+ssh://john.doe@bazaar.launchpad.net/~john.doe/+junk/myproject
188
**注:** ``+junk`` はこのブランチがLaunchpad上の特定のプロジェクトに関連していないことを意味します。
190
これで、誰でも次のコマンドを入力することでブランチのコピーを作ることができます::
192
$ bzr branch http://bazaar.launchpad.net/~john.doe/+junk/myproject
194
ブランチとリビジョンの履歴に関する情報は https://code.launchpad.net/people/+me/+junk/myproject
198
=====================================
200
他人のコードに取り組むために、ブランチのコピーを作ることができます。
201
実際の世界の例として、BazaarのGTKインターフェイスを見てみましょう::
203
$ bzr branch http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk bzr-gtk.john
204
Branched 292 revision(s).
206
Bazaarはbzr-gtkのtrunkブランチからすべてのファイルをダウンロードして\
207
リビジョンの履歴をそろえ、bzr-gtk.johnというコピーを作ります。
209
これで、ブランチのコピーを手に入れたのでネットの接続のあるなしに\
211
ブランチはいつでも公開することで共有でき、bzr-gtkチームがあなたの作品を\
212
使いたいと思ったときにBazaarは彼らがあなたのブランチから彼らのブランチに\
216
メインのブランチから自分のブランチを更新する
217
=============================================
219
変更を自分のブランチにコミットする一方で、他の人がコードを親のブランチに\
220
コミットしているということもよくあります。
222
自分のブランチを最新に維持するには、親ブランチから自分のブランチへと変更を\
226
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
227
All changes applied successfully.
233
変更に満足したら、それらを自分のブランチにコミットします::
235
$ bzr commit -m "Merge from main branch"
236
Committed revision 295.
240
==============================
242
bzr-gtkの個人ブランチに取り組んだ後で、あなたの変更を上流のプロジェクトに\
244
最も簡単な方法はマージディレクティブを使うことです。
246
マージディレクティブ(merge directive)とは、コンピュータに特定のマージを実行\
248
マージディレクティブは大抵、マージをレビューするためのパッチと、マージを実行する\
249
のに必要となるリビジョン、もしくはリビジョンを取得できるブランチを含みます。
251
次のコマンドの ``mycode.patch`` を適当な名前に書き換えて、マージのディレクティブを作ります::
253
$ bzr send -o mycode.patch
254
Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
256
これでbzr-gtkのプロジェクトにマージディレクティブをEメールで送ることが可能に\
257
なりました。彼らが納得すれば、親ブランチにマージすることができます。
263
Bazaarに関する詳細な内容は `Bazaarのユーザーガイド <../user-guide/index.html>`_ で調べることができます。
265
コマンドラインでBazaarを学ぶには::
273
''foo'' トピックもしくはコマンドを学ぶには::