コードの履歴を調べる

Subversion Annotate の使用

コードを調査する必要があるとき、なぜそのコードがそのように書かれているのか、以前はどうだったのか、誰が書いたのか、それについてもっと詳しく知ることができるのか、という疑問を持つことがよくあります。Subversion の annotate (svn blamesvn praise とも呼ばれます) と Core Trac を組み合わせると、これらの質問に答えることができます。

まず Trac ブラウザを開き、調べたいファイルに移動してください。ページの右上にある「Blame」リンクをクリックします。左側に、そのファイルの各行に関連するチェンジセットが書かれた新しい列が表示されるのが分かると思います。

Top ↑

チェンジセットの構造

チェンジセットをクリックすると、新しいダイアログが表示され、以下の情報が表示されます。

  • チェンジセット番号 (リビジョン番号とも呼ばれます) – タイトルの数字をクリックすると、そのチェンジセットへのリンクが表示されます。
  • タイムスタンプ – WordPress コアに、その変更がいつコミットされたか。
  • 作成者 – 誰がコードをコミットしたのか。
  • メッセージ – なぜその変更が行われたのか。多くの場合、これには関連する trac チケット (例: #12345) や関連するユニットテストチケット (例: #UT12345)、受け入れられたパッチを書いたユーザー (例: props ユーザー名) が含まれます。
  • 変更されたファイル – 追加・削除されたファイルのリストと、変更されたファイルのインラインでの差分表示です。

Top ↑

WordPress のリリースとコードの関連付け

コードの一部がいつリリースされたかを知るためには、関連するリビジョン番号を参照して、WordPress タグブラウザで次に高いリビジョン番号を探します。たとえば、リビジョン14377がいつリリースされたかを知りたい場合、3.0のタグは15274で、2.9.2のタグは13165であることを確認できます。リビジョン14377は2.9.2と一緒にリリースされるには遅すぎたので、3.0でリリースされたのでしょう。このことは、関連するチケットを見ることでも確認できます。リビジョン14377は、マイルストーン3.0の #12637と関連しています。

Top ↑

コマンドラインの使用

コマンドラインを使いたい場合は、svn blame (または svn annotatesvn annsvn praise) コマンドを使用できます。構文は以下の通りです。svn blame [filename]。出力は長くなることがあるので、less にパイプしたいことでしょう。たとえば、svn blame wp-includes/formatting.php | less のようになります。

調査したい特定のリビジョンが見つかったら、svn diff を使って何が変更されたかを正確に調べます。構文は svn diff -r [リビジョン番号 - 1]:[リビジョン番号] です。たとえば、リビジョン2000での変更を見るには、svn diff -r 1999:2000 と入力してください。

コミッターとタイムスタンプを含む完全なコミットメッセージを表示するには、svn log を使用します。構文は svn log -r [リビジョン番号] です。たとえば、リビジョン14377のコミットメッセージを表示するには、svn log -r 14377 と入力してください。

原文 / 日本語訳

最終更新日: