WordPress Core 変更箇所の追い方

Release Candidate が出され、WordPress 3.9 正式リリースも秒読み段階です。 私は WordPress プラグインを作って (その1その2) 公開していますが、新しいバージョンの WordPress がリリースされた際は動作を確認せねばなりません。 動作を試しておかしければ、どのような変更が WordPress に加えられたかソースコードを追いかけることとなります。 この記事では WordPress 3.9 リリース直前の現行ソースと WordPress 3.8 との間の変更を追いかけるための手順を説明します。

3.8.2 ではなく 3.8 と比べる理由

先日 3.8 系のメンテナンスリリース 3.8.2 もリリースされていますが、差分を取る対象はこれではなく 3.8 です。 当たり前と言えば当たり前かも知れませんが、このあたりを説明しておきます。

3.8 がリリースされる時点で WordPress 開発の Subversion リポジトリ上は 3.8 ブランチが作成され、trunk は 3.9 開発用となります。 3.8 リリースから 3.8.2 リリースまでの間にも trunk 上で 3.9 用の開発が行われており、これらの変更も含めて調べなければなりません。 従って、3.8.2 ではなく 3.8 のリビジョン番号を調べそのリビジョンから最新リビジョンまでに行われた trunk 上での変更を確認するのです。

WordPress 3.8 のリビジョン番号を取得

Trac Browser を使って 3.8 に対応するリビジョン番号を調べます。 タグ一覧はこちらです。

これをみると 3.8 リリースのリビジョン番号は #26861 であることがわかります。

差分の取得

差分取得画面より差分取得したい範囲とリビジョン番号を入力し、「View changes」ボタンを押すことで差分が表示されます。

まず先ほど確認した 3.8 に対応するリビジョン番号を入力します。 また、現行ソースについては現行リビジョン (= デフォルト値) をそのまま使います。 更にここでは対象ディレクトリを絞って差分取得してみましょう。

From:
/trunk/src/wp-includes/ at revision 26861
To:
/trunk/src/wp-includes/ at revision 28084 (デフォルト値)

「View changes」を押して表示されたページより、個々に「view diffs」を実行しても良いですし、「Unified Diff」を選んで差分を一括ダウンロードすることもできます。 一括ダウンロードは wp-includes だけでも結構な量になるのでよく考えて実行しましょう。

まとめ

以上で 3.8 から何が変わったかを確認できるはずです。

というような苦労をしながら最新バージョンの WordPress に対応している (予定の) Standard Widget ExtensionsThin Out Revisions をよろしくお願いします! (結局宣伝w)

(参考: Researching Code History With SVN Annotate)