物置き

Tracで新しいプロジェクトを作成しようとしたらエラー

trac-admin initenvコマンドで新しいTracのプロジェクトを作成しようとしたら、
下記のようなエラーがでた。(Tracを走らせているOSはWindows)

SubversionException: ("Expected FS format '2'; found format '3'", 160043)


原因は、SubversionPythonバインディングのバージョンが旧かったため。
作成しようとしているプロジェクトで参照しようとしているsvnリポジトリ
バージョン1.5以降のSubversionで作成されたもので
1.5以降で作成されるFSFSのフォーマットバージョンは「3」となる。
が、Tracインストール時点した際に併せてインストールした、
Pythonバインディングに対応しているSubversionのバージョンは1.4(.?)だった。
Pythonバインディング側のバージョンが旧いせいで
新しいフォーマットバージョンのリポジトリが扱えないために、
上記の例外が発生してしまっていた。


ということで、
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
から、新しいSubverionのPythonバインディングモジュール(svn-win32-1.5.4_py25.zip)をダウンロードして、
zipの中の「libsvn」「svnディレクトリを、C:\Python25\Lib\site-packages内に上書きコピー。


その際、気をつける点として、libsvnディレクトリ内の
すべての.dllファイルの拡張子を.pydに変更する必要がある。
(Python2.5以降では、.dllの拡張子を.pydにしないと動作しない、なんでじゃろ)
なぜか、上記URLからダウンロードしてきたモジュールの拡張子は.dllのままなので
手動で.pydに変更する必要があった。


Pythonバインディングを更新した後、
再度Tracプロジェクトの作成を試したところ、問題なく完了。めでたしめでたし。