ソースコードのアーカイブはFTPサーバーから得られます。
URLとID、パスワードは定期的に電八開発倶楽部MLに配信されます。
また、subversionリポジトリからソース/パッチの投稿することも出来ます。Subversionの使い方はこちら。
ソースの展開
ソースの展開は、適当なディレクトリ(den8src等)上の Den8 で始まるディレクトリがお薦めです。
開発中のソースディレクトリは、一般的にはビルド管理番号を Den8 の後ろにつけ、8.3 形式に収まるように半角11文字以内を推奨します。[そうしないと GNU patch for Win32 で誤動作するものがあるため]
例. Den8org, Den8028, Den8029, Den8029prvt
パッチの作成方法
パッチの作成には、ftp サーバ上にある Win32 console 向け GNU diff を使用してください。
パッチ作成時は人が読みやすいように-cオプションを使用してください。
例. cd den8src; diff -c Den8028/Den8.cpp Den8029/Den8.cpp > patchfile.diff
- diffにディレクトリを与えると、ディレクトリ内のファイル全てについて差分を作成します。
例. cd den8src; diff -c Den8028 Den8029 > patchfile.diff - 不要なファイルのパッチ作成を抑制したい場合、-xオプションを使用して除外することができます。-xは複数使用でき、ワイルドカードが使えます。
例. cd den8src; diff.exe -c -x*.ncb Den8028 Den8029 > patchfile.diff - -Xオプションを使用すると除外ファイルのリストをファイルで与えることができます。
例. cd den8src; diff.exe -c -Xexclude.lst diff -cr Den8028 Den8029 > patchfile.diff - 公式ビルドパッチ作成に使用している除外リストファイル exclude.lst はftpに有ります。
その他、WinMergeにもパッチの作成機能があります。
パッチの投稿方法
作成したパッチファイルをメールに添付して、den8dev MLへ投稿して下さい。MLに配信されたメールの記事番号をパッチ番号として管理されます。
メールのsubject
パッチと判るものが望ましいです。[FIX]、[MOD]、[IMP]、[PATCH] の様にプレフィックスを付けたり、「xxxのパッチ」など。
パッチの内容を要約して付けて下さい。Wishlistに該当する課題があるとき、Wishlist番号も記載するとベター。
メールの内容
以下の様な情報があるとベターです。
- 解決しようとした問題点・改良点の要約(要するにメールのsubjectに書いたようなもの)
- 変更内容の詳細
- パッチが対象とするソースのバージョン
- 関連するパッチの番号(公式ビルドに未統合のものは必須です)
- 先行するパッチを改良した場合、その番号
- 先行するパッチを完全に置き換える(内容が競合する)場合、その番号
- 先行するパッチとは別の改良である(内容が競合しない)が依存する場合、その番号
- 依存はしないがやむを得ない理由で含んでいるパッチがある場合、その番号
- 変更したファイルのリスト
- その他備考
パッチの適用方法
ftp サーバ上にある Win32 console 向け GNU patch を使用します。
例. cd den8src; patch < patchfile.diff
- 例のように、ソースのあるディレクトリ上で実行するとdiffをとった際のディレクトリに関係なく、カレントディレクトリのファイルにパッチを当てることができます。
ただし、この方法では diff -r オプションを使用して作成されたサブディレクトリ内のファイルパッチは適用に失敗するようです。公式ビルドのパッチはサブディレクトリへのパッチは含みません。