プロが教える店舗&オフィスのセキュリティ対策術

自分のマシン(Mac OS 10.5.5)にtracを導入に挑戦してる途中でのエラーで困っています。
tracのインストールを終え、リポジトリ作成、作業コピー作成を終えた後にinitenvしました。
Prohect Name, Database connection string, Repository type, Path to Repositoryを入力してEnterを押すと、以下の様なエラーが出ます。


...(略)
WikiStart imported from /Library/Python/2.5/site-packages/Trac-0.11.1.ja2-py2.5.egg/trac/wiki/default-pages/WikiStart
Initenv for '/[Projetを作ろうとしたディレクトリ]/ProjectName' failed.
("Expected FS format '2'; found format '3'", 160043)
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/Trac-0.11.1.ja2-py2.5.egg/trac/admin/console.py", line 586, in do_initenv
repos = self.__env.get_repository()
File "/Library/Python/2.5/site-packages/Trac-0.11.1.ja2-py2.5.egg/trac/env.py", line 270, in get_repository
return RepositoryManager(self).get_repository(authname)
File "/Library/Python/2.5/site-packages/Trac-0.11.1.ja2-py2.5.egg/trac/versioncontrol/api.py", line 157, in get_repository
repos = self._connector.get_repository(rtype, rdir, authname)
File "/Library/Python/2.5/site-packages/Trac-0.11.1.ja2-py2.5.egg/trac/versioncontrol/svn_fs.py", line 280, in get_repository
'branches': self.branches})
File "/Library/Python/2.5/site-packages/Trac-0.11.1.ja2-py2.5.egg/trac/versioncontrol/svn_fs.py", line 401, in __init__
self.repos = repos.svn_repos_open(self.path, self.pool())
File "/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/libsvn/repos.py", line 47, in svn_repos_open
return apply(_repos.svn_repos_open, args)
SubversionException: ("Expected FS format '2'; found format '3'", 160043)


自分なりに調べ、「マシン内に複数バージョンのSubversionがあって、Pythonに通っているsvnへのパスがSubverion 1.5.xx。期待されていたのは1.4.xx」という風に認識しています。が、この先どうしたら良いかわからなくなってしまい、困ってしまいました。

質問は以下の3つ(4つ)です。
■自分のマシンに入っているSubversionの一覧を知りたい
■Terminalで"which svn"と打つと、「/opt/local/bin/svn」と返ってきます。これが自分のマシン内に複数あるSubversionのどれを見に行っているのかを知りたい
■1.4.xxにパスを通したい or 1.5.xxを期待させたい
(■その他上記エラーの解決策を知りたい)


よろしくお願いします。

A 回答 (3件)

>■Terminalで"which svn"と打つと、「/opt/local/bin/svn」と返ってきます。

これが自分のマシン内に複数あるSubversionのどれを見に行っているのかを知りたい

ターミナルで、
/opt/local/bin/svn --version
とするとバージョンが表示されるかと。

>■自分のマシンに入っているSubversionの一覧を知りたい
に関しては、全ディレクトリでsvnを検索して、見つかったモノに対して--versionスイッチで確認していくしかないかと思われます。

>■1.4.xxにパスを通したい or 1.5.xxを期待させたい
MacOSに関しては分りませんが…tracを実行しているユーザの環境変数(path)に設定すればよろしいのではないか…と。
あるいはリポジトリをダンプして1.5でリポジトリを作成してsvnadmin load…でしょうか。

この回答への補足

回答ありがとうございます。参考になりました!

$ locate bin/svn
と打って、2つのSubversionを見つける事が出来ました。
それぞれのパスの末尾に「 --version」をつけて叩いてみた所、「1.5.4」「1.4.4」と返ってきました。
traxが期待していた1.4.4のSubversionでリポジトリを作り、再びinitenvしたらエラーが起こらず、無事解決しました!


>MacOSに関しては分りませんが…tracを実行しているユーザの環境変数(path)に設定すればよろしいのではないか…と。
svnへのパスは、
/usr/bin/svn(1.4)
/opt/local/bin/svn(1.5)
の二種類がありました。
/opt/local/bin/内のsvn関連のコマンドは、/usr/bin/内の同名コマンドへのシンボリックリンクに置き換えようと思います。
なんだか根本的な解決になってない様に思いますが、、、
本題から反れますが、これについてどう思いますでしょうか。。
できれば、trac(書き忘れましたが、trac_jaです。)がSubversion format 3を期待するように設定したいのです。
質問する相手が身近に居ないので、どうか宜しくお願いします。

補足日時:2008/11/26 00:58
    • good
    • 0
この回答へのお礼

ご丁寧な回答、ほんとにありがとうございます。
#2,#3も参考にさせて頂きます!

お礼日時:2008/11/30 02:30

>なんだか根本的な解決になってない様に思いますが、、、


>本題から反れますが、これについてどう思いますでしょうか。。

特別な理由がない限り、複数のバージョンを入れるのは避けた方がよいと思われます。
# といいつつ、派遣先のPCに個人的に入れているモノはTracLightningのSVN1.5.2と、別に入れたSVN1.5.3があったりしますが…
SVN:プロトコルの方は1.5.3、Tracからアクセスするのは1.5.2。
Apacheが使っているモジュールは…1.5.2だったかな……。

>できれば、trac(書き忘れましたが、trac_jaです。)がSubversion format 3を期待するように設定したいのです。

自宅サーバの方はSVN1.5.4でそのままTrac動いていますが…。
入っているモノのバージョンなどに違いでもあるのでしょうか?
tracが参照していると思われるSVNのライブラリ関連が1.4系になっているのではないでしょうか?
一度、TracとSVN両方削除した上で、SVNの1.5系->Tracの順でインストールしてみる…とか。
# Python側のSVN関連ライブラリかも知れませんが…。
    • good
    • 0
この回答へのお礼

#1で「1.5は、1.4へのリンクに差し替える」なんて書きましたが、

仕事や、知り合いとの共有用svn => 1.5系が必要
個人的メモ用Trac => 1.4系が必要

1.4系を残しておくのがアホらしくなりました。

 ・Python側のSVN関連ライブラリをいじって1.5系を見に行く様に設定できればそれですべて問題無し
 ・それが無理ならtrac-jaを諦めて英語版の最新tracを使ってみようと思います。

お礼日時:2008/11/30 02:38

手元のLinuxサーバ(CentOS5.2(x86_64)に自分でビルドしたSubversion1.5.4)で確認してみました。


# 基本的にCentOS5.2のSRPMとSVN公式にあるものを混ぜて、xinetd経由起動などの設定ファイルの追加などを行ったものです。

$ locate python | grep lib | grep svn
で、
/usr/lib64/python2.4/site-packages/libsvn
/usr/lib64/python2.4/site-packages/svn
のディレクトリが。
これらのディレクトリは誰が…ということで、
$ rpm -qf /usr/lib64/python2.4/site-packages/svn
subversion-1.5.4-1.rf
となりました。
Subversionのrpmパッケージを作成した際に、一緒に入れられたようです。

ということで、質問者さんの環境ではSVN1.4系が入っていたところにTracをインストール。
その後SVN1.5系をインストールしてpyhtonのライブラリ関係が上書きされた…
という状況になったものと推測されます。
# リポジトリ自体は1.4系→1.5系の移行は可能ですが、逆は無理…だったかと。
# ちなみにウチのsvnリポジトリのformatファイルには"5"と書かれていたりしますけど。
# チェックアウトしてあるWindows側では"8"だったり…謎。

MacOSにSubversionやTracの構築を書かれたサイトがいくつかある…ようなので検索して参考にされるのもよろしいかと。
MacOSは不明なのでバージョン間の違いとか全くわかりませんので、そちらに関しては私では何ともできないです…。
    • good
    • 0
この回答へのお礼

お礼付け漏れをしていました。失礼しました。
大変参考になりました!

お礼日時:2009/01/27 22:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!