はじめに
Bazaarは集中管理lock-step開発からフリースタイルまで、多くのワークフローをサポートしています。
これらは、データストレージとはあまり関係ありません。 すべてのブランチが集中管理されているかを確かめたければ、そうする方法もあります。
集中管理モデル

このモデルは基本的にCVSやSVNと同じワークフローです。 開発者はすべて同じブランチ上にて作業します。 チェックアウトを最新の状態にするためにbzr updateを実行し、コミットするためにはbzr commitを行います。
CVSやSVNに比べた利点:
- よりよいブランチとマージ
ローカルでのコミットモデル

これは上記と同様ですが、開発者の修正の行い方が異なります。 commit --localを用いるかチェックアウトをunbindし、修正が完了したときに共有リポジトリへとコミットします。
集中管理モデルに対する利点
- 他の人の作業を妨げるような誤ったコミットを行ないにくい
メインを共有した分散モデル

このワークフローでは、開発者がそれぞれのブランチに加えて、メインブランチへのコミット権も持っています。 作業は個々のブランチで行い、準備ができ次第メインブランチへとマージします。
集中管理やローカルコミットモデルに対する利点
- 作業の組織化が容易
- 一緒に作業する際、他人の個人的なブランチからマージすることもできます
門番の自動化による分散モデル

このワークフローでは、開発者それぞれがブランチとメインブランチへの読み込み権限のみを有しています。 PQMと呼ばれる門番ソフトウェアがメインブランチへのコミット権限を持っています。
開発者が作業内容をマージしたいとき、門番へとマージをリクエストします。 門番ソフトウェアはマージ、コンパイル、一連のテストスイートを実行します。 テストにパスすれば、そのコードはメインブランチへとマージされます。
メインを共有した分散モデルに対する利点
- コードは常にメインにマージされる前にテストされます
門番の手作業による分散モデル

このワークフローでは、開発者それぞれがブランチとメインブランチへの読み込み権限のみを有しています。 ひとりの開発者が(門番役)がメインブランチへのコミット権限を持っています。 開発者が作業内容をマージしてもらいたい場合、門番役にマージを依頼します。
門番役はコードのレビューを行い、基準に合致したものをマージします。
門番の自動化と分散モデルに対する利点:
- コードは常にメインブランチにマージされる前にレビューを受けます
Powered by docutils, and CSS Design by tri-star