Bonsai を使って Mozilla をハックする

Bonsai はもともと、ツリーが不安定であるという問題を解決するために作られました。 元となる Navigator のコードベースは複数のプラットフォームにまたがって共有される大きなセクションを持っています。 しばしば、チェックインされたコードは、コンパイルされ、一握りのプラットフォームで実行されます。 また、100 人とにも上るエンジニアをもってしても、ツリーで不安定さを引き起こしたのが何かを割り出すのは難しいのです。 Bonsai はこうした問題を解決するために作成されました。

手順

  1. ツリーにチェックインした人はだれでも、"the hook"(つなぎとめられている、といった意)と呼ばれるグループに入ります。
  2. 毎週水曜日の朝、PST(米国太平洋標準時間)午前 8:00 時に、ソースのツリーは閉じられます。
  3. ビルドチームは午前 8:00 時のツリーを引っ張り出します。そして、Linux、Win32、MacPPC といった一部のプラットフォーム上でビルドします。
  4. 午前 10:00、「hook」となっている人は誰もが、ビルドが失敗した場合に備えて待機します。
  5. 最終的に、ツリーがビルドされ、ツリーは再オープンされます。
  6. このページは、以下のものを記録します
    • ツリーが OPEN(開いている)なのか CLOSED(閉じている)なのか
    • 問題なかったツリーとして知られている最後のもののタイムスタンプはどれか
    • 今のツリーで誰が「hook」となっているのか
    <<<<<<< bonsai.html
  7. ツリーが開かれる前に、ツリーが閉じられたときに発生したチェックインのリストがレビューされ、ビルドに関連したチェックインのみが行われていることを確認します。
  8. ツリーが開かれる前に、相乗りレーンがあります。 相乗り(訳注:carpool:閉じられたツリーに少人数でチェックインすること、詳細は jargon 集を参照のこと)レーンはブランチ上にいなくて、ソースをマージするために安定したツリーの先端を必要としている人が、マージするための先端を取り出せるようにするための場所です。 相乗りレーン上の人は、チェックインする時、明日のビルドに対して "hook 状態" です。 相乗りレーンはリリースチームとともに前もってアクセスの準備をする人にだけ利用可能です。
  9. ツリーが再開されると、Web ページは更新され、hook 状態はクリアされます。
  10. どのチェックインが最近ツリーに行われたか見たり、バージョン間の違いを見たりするために、 bonsai 検索ツールを使ってください。 検索についての詳細情報はBonsai 入門を参照してください。
  11. =======
  12. ツリーが開かれる前に、ツリーが閉じられたときに発生したチェックインのリストがレビューされ、ビルドに関連したチェックインのみが行われていることを確認します。
  13. ツリーが開かれる前に、相乗りレーンがあります。 相乗り(訳注:carpool:閉じられたツリーに少人数でチェックインすること、詳細はjargon集を参照のこと)レーンはブランチ上にいなくて、ソースをマージするために安定したツリーの先端を必要としている人が、マージするための先端を取り出せるようにするための場所です。 相乗りレーン上の人は、チェックインする時、明日のビルドに対して"hook 状態"です。 相乗りレーンはリリースチームとともに前もってアクセスの準備をする人にだけ利用可能です。
  14. ツリーが再開されると、Web ページは更新され、hook 状態はクリアされます。
  15. どのチェックインが最近ツリーに行われたか見たり、バージョン間の違いを見たりするために、 bonsai 検索ツールを使ってください。 検索についての詳細情報はBonsai 入門を参照してください。
  16. >>>>>>> 1.4

規則

  1. ツリーが閉じられている時は、ビルドしている人から要求されてビルド上の問題を解決する時以外にチェックインしてはいけません。
  2. hook 状態にいる場合、バグ状態を解決するためにビルドチームからの作業を受けられるように準備することを最優先としてください。
  3. hook 状態にいる時、連絡可能な状態にいてください。あなたのコードで発生するどんな問題でもすばやく見つけて対応できるために、机の前にいるか、E-mail を絶えずチェックするとか IRC につながっているといった呼び出し可能であるかしてください。

助けとなる態度

  1. ビルドチームはあなたの友人です。彼らはあまり楽しい仕事をしているわけではありません。ですから、尊敬をもって接してください。
  2. "hook 状態" は集団なのです。チームを非難するだけで、立ち去ってしまったりしないでください。