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-packagessubversion.pth を作って 対応した所、問題なく動作するようになりました。

site-packagessvn / libsvn のシンボリックシンクを作って対応する方法もありますが、個人的には subversion.pth を作った方がなんか好き。いや今回初めて知ったんですけどね。^^;