Redmineでのエラー「リポジトリに、エントリ/リビジョンが存在しません。」

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}

を実行して、パスワードなしで結果が取れるか確認しましょう。