1
.. _organizing-your-workspace:
4
=========================
6
.. _common-workspace-layouts:
11
Bazaarのユーザーがプロジェクトのための作業スペースを構成するベストな方法は、\
14
* ユーザーの役割: プロジェクトオーナー vs コア開発者 vs カジュアルな貢献者
16
* ワークフロー: プロジェクトが推奨/強制している、貢献のためのワークフロー
18
* サイズ: 大きいプロジェクトは小さいプロジェクトよりもリソースを要求します。
20
少なくとも4つの一般的なワークスペースの構成方法があります。
22
* lightweight checkout
33
このレイアウトでは、作業ツリーはローカルですがブランチはリモートにあります。
34
これはCVSやSVNで一般的に利用されるレイアウトで、シンプルで簡単に理解できます。
38
bzr checkout --lightweight URL project
48
各コミットが暗黙的に変更を同じブランチを利用している他の人に公開していることに\
49
注意してください。ただし、コミットが成功するには作業ツリーがリモートのブランチの\
50
最新の状態になっている必要があります。最新のコードを取得してマージするには、::
56
----------------------
58
このレイアウトでは、作業ツリーとブランチは一つの場所にあります。
59
共有リポジトリが上位のディレクトリに無い限り、リポジトリも同じ場所に\
60
格納されます。これはBazaarのデフォルトレイアウトで、小規模から中規模の\
65
bzr branch URL project
79
pushするURLは最初の一回だけ要求されます。
81
もし中央の場所が、pushするまでの間に他のユーザーからの変更を受け取っていた\
82
場合、pushする前にそれらの変更をローカルブランチにmergeする必要があります::
88
代替手段として、チェックアウトを使うこともできます。ブランチと同じように\
89
チェックアウトも履歴全体をローカルにコピーしますが、ローカルブランチが\
90
リモートの場所に束縛されているので、両方のブランチに一度にコミットされます。
92
注意: チェックアウトはローカルコミット+pushに比べてスマートです。
93
チェックアウトはまずリモートにコミットして、それが成功したときにだけ\
101
このレイアウトでは、いくつかのブランチとツリーがあって、一般的にリポジトリを共有します。
102
一つのブランチは "trunk" のミラーを保存していて、それ以外の作業単位(例:バグ修正や
103
機能追加)にはそれぞれの "機能ブランチ" を作ります。
104
このレイアウトはほとんどのプロジェクト、特に中規模のものにとって理想的です。
108
bzr init-repo project
114
bzr branch trunk featureX
124
変更をメーリングリストに公開してレビュー&承認してもらう::
128
変更を公開ブランチで公開する(たとえばLaunchpad上でmerge要求を出すために)::
132
変化形として、trunkをチェックアウトとして作ることもできます。
133
もしtrunkへのコミット権限を持っているのであれば、trunkへマージして\
134
コミットするとその変更は暗黙的に公開されます。
135
他には、trunkのURLが読み込み専用だった場合(例: httpアドレス)、チェックアウトを\
136
利用することはローカルのtrunkミラーに間違えて変更を登録してしまうことを\
137
防止します。これはプロジェクトがPQMなどのゲートキーパー型のワークフロー\
146
このレイアウトは機能ブランチのレイアウトとほぼ同じですが、機能ブランチが\
147
それぞれ作業ツリーを持つ代わりに一つの作業ツリーを共用する点が違います。
148
これはgitのデフォルトレイアウトに似ていて、大きなツリー(10000ファイル以上\
149
とか)を持つプロジェクトや、ビルドによる加工物(.oや.classファイルといった)\
154
bzr init-repo --no-trees project
157
bzr checkout --lightweight trunk sandbox
160
これでsandboxで作業を開始できますが、sandboxがtrunkを参照したままコミット\
161
してしまうと、(trunkがcheckoutで無い限り)trunkが元のtrunkのミラーでは\
163
なので、まず機能branchを作ってsandboxをそちらに紐づけましょう::
165
bzr branch ../trunk ../featureX
166
bzr switch ../featureX
168
この後の、変更を行ったりその変更を公開して適用してもらうまでの\
169
プロセスは機能ブランチレイアウトの時と同じです。
175
お望みとあれば、あなたのお好みの構成に合わせてレイアウトを決めることができます。
176
例やアイデアについては `共有リポジトリのレイアウト <shared_repository_layouts.html>`_