Mar 05, 2006

[Subversion] Subversion 管理用ディレクトリの ".svn" と "_svn"

Subversion 管理下のファイルをチェックアウトすると、管理用ディレクトリとして ".svn" が作成される。 それが、TortoiseSVN をバージョンアップした途端に "_svn" に変わってしまったという話を聞いた。 となると、TortoiseSVN をバージョンアップするわけにいかなくなってしまうので原因を調べてみた。 原因は Subversion 1.3 のリリースノートに記載されていた。

The "_svn" hack is now officially supported: since some versions of ASP.NET don't allow directories beginning with dot (e.g., ".svn", the standard Subversion working copy administrative directory), the svn command line client and svnversion now treat the environment variable SVN_ASP_DOT_NET_HACK specially on Windows. If this variable is set (to any value), they will use "_svn" instead of ".svn". We recommend that all Subversion clients running on Windows take advantage of this behaviour. Note that once the environment variable is set, working copies with standard ".svn" directories will stop working, and will need to be re-checked-out to get "_svn" instead.

".svn" が "_svn" に変わった環境で環境変数を調べてみてもらったところ、SVN_ASP_DOT_NET_HACK=1 となっていた。 結局、SVN_ASP_DOT_NET_HACK を設定しなければ今まで通り ".svn" のママだということが分かった。 TortoiseSVN をバージョンアップしても問題は無さそうということで一安心。

Posted in Subversion | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |