Subversionのログの書き方をChange Log形式にしようとして、やめた

Subversionのログの書き方を、通常の日本語からChange Log形式にしてみようと考えました。

現在の私のSubversionのログの書き方

私はSubversionのログを普通の日本語で書いています。

たとえば、

といったファイルを修正した場合(日本語ファイル名ですみません ^^:)、ログには

モデル図からクラス図を削除した。
ロバストネス図を販売商品対応に修正。
ユースケース記述を更新。
画面レイアウトの数値の表示書式を変更。伝票画面に「商品入力」ボタンを追加。

のように書いています(自分1人で使うものなので、かなり大雑把です)

これではどのファイルをどのように変更したのかわかりにくいので、Change Log形式で書いてみようと考えました。

Change Log形式

Change Logは次のように書くのが一般的なようです(GNU Coding Standards: Change Logs より)

日付 ユーザー名 (メールアドレス)

    * ファイル名1 (関数名1): 変更内容
    (関数名2): 変更内容
    * ファイル名2 (関数名3): 変更内容

同じファイル名の場合には、ファイル名を省略します。上記では関数名1と関数名2は同じファイル名1に属しています。

Change Log形式で書いてみる

Subversionの場合、日付やユーザー名は自動的に入るので、「* ファイル名 (関数名): 変更内容」の部分だけを記述してみます。また、ソースコードではない場合、関数名の代わりにワークシートや図の名前を書いてみます。

    * モデル図.jude (クラス図): 削除。
    (ロバストネス図:伝票を呼び出す): 販売商品対応に修正。
    (ロバストネス図:入力内容を保存する): 販売商品対応に修正。
    (ロバストネス図:販売商品入力画面を呼び出す): 新規作成。
    (ロバストネス図:販売商品の原価と売価を伝票に転記する): 新規作成。
    * ユースケース記述.txt: 内容を更新。
    * 画面レイアウト.xls (販売商品入力): 数値の表示書式を変更。
    (伝票画面): 「商品入力」ボタンを追加。

最初の書き方と比べてみると、より正確で、どのファイルのどこを書き換えたか一目瞭然になりました。しかし、全体としてどんな作業をしたのかがわかりにくくなった気がします。しかも書くのが面倒です。Subversionのログの場合、どのファイルを修正したかはログの機能で表示できるため、特にファイル名を記述する必要もないかなと思いました。

というわけで、Change Log形式で書くのをやめたのでした。複数人が参加するプロジェクトで使うのなら良いかもしれません。