subversion でワナに引っかかる
subversion 1.5.3 も自前 make して導入。 trac0.11.ja1 も自前で install して導入。
よし! リポジトリシステムはほぼ元通りなり!
というわけで、そそくさと trac のプロジェクトにアクセスしたのは良かったのですが「subversionリポジトリと同期しねーよ。死ねよ。」と脅迫されたので、「ごめんね。ごめんね…」と trac-admin /path/to/proj resync してみたのですが………更に怒られました…
# trac-admin lib resync | less
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/admin/console.py", line 1295, in run
return admin.onecmd(command)
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/admin/console.py", line 123, in onecmd
rv = cmd.Cmd.onecmd(self, line) or 0
File "/usr/lib64/python2.4/cmd.py", line 219, in onecmd
return func(arg)
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/admin/console.py", line 665, in do_resync
repos = env.get_repository().sync(self._resync_feedback)
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/env.py", line 270, in get_repository
return RepositoryManager(self).get_repository(authname)
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/versioncontrol/api.py", line 157, in get_repository
repos = self._connector.get_repository(rtype, rdir, authname)
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/versioncontrol/svn_fs.py", line 279, in get_repository
{'tags': self.tags,
File "/usr/lib/python2.4/site-packages/Trac-0.11.1.ja1-py2.4.egg/trac/versioncontrol/svn_fs.py", line 401, in __init__
self.repos = repos.svn_repos_open(self.path, self.pool())
File "/usr/lib64/python2.4/site-packages/libsvn/repos.py", line 53, in svn_repos_open
return apply(_repos.svn_repos_open, args)
libsvn._core.SubversionException: ("Expected FS format '2'; found format '3'", 160043)
「v3 形式のリポジトリデーターベースだから、v2 しか解釈出来ないおいらには分からんぽんちんだよ」とのことです……って、おめー svn 1.5.3 いれたやん! 1.5 以上だから v3 形式読めるハズやん! なんで読めへんの!?
…と、subversion の configure に、なんかオプションが追加されてないか確認してみたりとかしたんですが……。 ふと気づいた。
$ rpm -qa | grep sub subversion-1.4.2-2.el5 subversion-1.4.2-2.el5
やっぱり。orz
今の時代、subvesion ってデフォで入ってるのねぇ。昔は rpm すら無かったのにぃ
で、結局
$ rpm -e --allmatches subversion # 消す $ make install # 入れ直す $ make install-swig-py # 入れ直す
して、/usr/lib64/python2.4/site-packages に subversion.pth を作って 対応した所、問題なく動作するようになりました。
site-packages に svn / libsvn のシンボリックシンクを作って対応する方法もありますが、個人的には subversion.pth を作った方がなんか好き。いや今回初めて知ったんですけどね。^^;