Redmine設定のピンポイントなネタです。
日常的にRedmineを使っていくと、バージョン管理システム(VCS)との連携なしでは考えられなくなってくるので、エラー「リポジトリに、エントリ/リビジョンが存在しません。」なんてのは運用上、致命的。GitやMercurialが主流(?)な今、役に立つかどうかは不明ですが、ちょっと嵌ったので、メモとして残しておきます。
このエラーに遭遇したら、まずはRedmine.jpの以下の記事を見るかと思います。
http://redmine.jp/faq/repository/error_scm_not_found/
上記の記事で解決できればよいのですが、設定を見直しても解決できない場合もあります。今回、症状は以下の記事とまったく同じでした。
StepupEngineeringはてな支店: Redmineハマリメモ SVN連携
上の記事や、その参考リンクの中で挙げられている解決策は以下のものです。
- 証明書を永久に受け入れることにする
- ホスト名が名前解決できるようにする or IPアドレスで指定する。
しかし残念ながら、今回、上記の解決策でも直りませんでした(というより、そもそも対応済でした)。
とりあえず、記事を参考に、
# svn list --xml {リポジトリURL(svn+ssh://user@subversion/xxx/yyy/zzz)}
を実行してみました。
すると、svn+sshでの接続のためかパスワード入力が促され、正しいパスワードを入力すると、正しく結果が取得できました。
で、よくよく考えるとパスワード入力しないとならないのがおかしいのでは?
というわけで、Redmine起動ユーザの公開鍵(~/.ssh/id_rsa.pub)を、VCSサーバの接続ユーザの~/.ssh/authorized_keysに追加することで、パスワードなしでSSHログインできるようにしたところ、解決!
今回の結論。
「リポジトリに、エントリ/リビジョンが存在しません。」エラーに遭遇したら、Redmineのインストールされているサーバから、
# svn list --xml {リポジトリURL}
を実行して、パスワードなしで結果が取れるか確認しましょう。