Windows & VB6フレンドリーなTortoiseSVNの設定

TortoiseSVN の設定の「ファイルの日付に "最後にコミットした日付" を設定する」の説明を引用:

このオプションはチェックアウトや更新時にコミット時の日時をファイルの日時として使うよう、TortoiseSVN に指示します。そうでなければ、TortoiseSVN は現在の日時を使用します。ソフトウェアを開発しているなら、ビルドシステムがコンパイルの要否を判断するのにタイムスタンプを使用するので、現在の日付にしておくのが最善でしょう。"最後にコミットした日付" を使用していて、ファイルを古いリビジョンに戻す場合、プロジェクトがコンパイルされない可能性があります。

ここで言うビルドシステムは一般的にはmakeでしょうね。Visual C++で"リビルド"ではなく"ビルド"した場合も、makeと同様の振る舞いですね。

makeはMakefileからコンパイルの依存関係を読み取って、タイムスタンプを比較して必要なもののみコンパイルを行います。ファイルを古いリビジョンに戻した場合に「ファイルの日付に "最後にコミットした日付" を設定する」がオンの場合はオブジェクト・バイナリよりもソースコードのタイムスタンプが古くなってしまい、そのソースコードコンパイルが行われないので、「現在の日付にしておくのが最善」ということでディフォルトの設定がオフになっているのでしょう。

しかし、ビルドシステム&ソースコード管理システムを使わずにタイムスタンプ(とソースコード・ディレクトリのリネーム)のみで開発してきた人にとっては、いままでの状況とTortoiseSVNのディフォルト設定ではギャップがありすぎるので、「ファイルの日付に "最後にコミットした日付" を設定する」をオンにしたほうが無難なようです。