今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

過去に実験的に修正したコードを取り込む

1年以上前に実験的に修正して動作確認したコードがある。本当に実験的にやっただけのものだったので、CVS には入れてなく、ローカルのハードディスク上に置いてあった。それを新機能として追加することになった。
それらの Java ソースコードファイルは、その実験的な動作確認以外では触っていなかったので、単純にファイルを上書きした。そして ant でビルド。
しかし期待通りに動いてくれない。ビルドにも失敗していないし、なんでだろ〜?とか思って、もう一度 ant を動かして、できた jar ファイルで動作確認。やっぱり動かない。
ふと気付いた。この作業ディレクトリの中にある class ファイルは、比較的最近ビルドしたときに作られたものだ。それに対して、java ファイルは1年以上前のものだ。つまり、class ファイルよりも java ファイルの方が日付が古いんだから、コンパイルされないのが当然だ。
touch で java ファイルの日付を更新して、再度 ant を動かしてビルド。そして動作確認。
動いたー!(^^)
やっぱ、実験的に修正したコードでも、それなりのタグを付けて CVS にコミットしといた方がよかったよ。バージョンをしっかり管理するのは難しいけど、コミットするときにその理由をしっかり書いておけば、それが一番頼りになる。