開発者向け情報

資料

センスを身につける

開発に必要なツール

  • Windows
    • Gecko SDK - idlをxptにコンパイルするために必要なxpidlが含まれている。
  • Ubuntu 8.04
    • xulrunner-1.9-dev - idlをxptにコンパイルするために必要なxpidlが含まれている。

開発に役立つ拡張

  • XULD (ツールボタンに再起動・ブラウザの再読み込み・開発モードのon/offを追加する)
  • Venkman (デバッガ及びプロファイラ。ブレークポイント・コールスタック・ローカル変数など。JS XPCOMには使用できない?)
  • Leak Monitor

開発に参加する

>門番の手作業による分散モデル

Launchpadのアカウント登録

https://launchpad.net/+login の下の欄から登録できます。

Bazaar のインストール

Windows

http://launchpad.net/bzr/1.6/1.6/+download/bzr-setup-1.6.exe

Ubuntu hardy

sudo aptitude install bzr bzrtools

Debian etch

バックポートからbzrとbzrtools(なるべく)をインストール

Debian lenny

sudo aptitude install bzr bzrtools

設定

  • bzr whoami "ニックネーム <メールアドレス>"

コミッタ設定 (コミッタのみ)

コードを取得

  • bzr branch lp:bbs2ch
  • cd bbs2ch

開発

  • バグの修正前に bzr merge (衝突したら修正してbzr resolve)
  • 衝突が取れたら bzr ci -m 'merge trunk'
  • バグを修正
  • bzr ci でチェックイン。これはローカルのレポジトリにチェックインされます。コミットログには"LP: #バグの番号"も書いてください。
  • これを繰り返します。
  • きりの良い所で bzr merge をしてください。 (衝突したら修正してbzr resolve)。
  • 衝突が取れたら bzr ci -m 'merge trunk'
  • bzr send lp:bbs2ch -o foo.patch をして、そのfoo.patchをバグに添付してください。レビューされるでしょう。launchpadにssh鍵を登録している場合は、 bzr push lp:~アカウント名/bbs2ch/ブランチ名 で自分のブランチに上げて https://code.launchpad.net/people/+me/bbs2ch/ブランチ名 を開き、Propose for mergingを選択するという方法もできます。

Bazaarのコマンド

  • bzr branch (レポジトリからブランチを作成)
  • bzr branch --stacked (レポジトリからスタックブランチを作成。bzr 1.6以降)
  • bzr merge (別のレポジトリとマージ)
  • bzr ci (チェックイン)
  • bzr uncommit (チェックイン取り消し)
  • bzr send (マージ要求)
  • bzr add (レポジトリに追加)
  • bzr rm (レポジトリから削除)
  • bzr mv (履歴付き移動)
  • bzr log (ログの表示)
  • bzr diff > foo.diff (差分)
  • bzr cdiff (色付き差分)
  • bzr patch < foo.diff (パッチを当てる)
  • bzr revert . (リバート)
  • bzr-undo (diff/log取ってrevertしてuncommitするスクリプト)
  • bzr-redo (logと共にcommitして取っておいたdiffを当てるスクリプト)