知らぬ間に、Redmineのリポジトリを開くと、「404 リポジトリに、エントリ/リビジョンが存在しません。」というエラーが発生し、リポジトリ参照ができなくなってました。
いつもお世話になっている、Redmine.jpさんの記事も参考にしてみましたが、結局よくわからず、かなり悩みに悩み、やっと解決しましたので、その解決策を書いておきます。
原因
gitがどうやら悪さしていたこと。
自動更新でgitのバージョンが1.8.2.1になってましたようです。
対策
Redmine用に別のバージョンを入れて、Redmineはそっちを使うようにする
対策手順
- gitの別バージョン(今回は現在の最新版である、1.8.3.1)をダウンロードする
gitのダウンロードは、本家からできます。tar.gzファイルのリンクは、DownloadsのOlder releasesにあります。 - gitをディレクトリを指定し、インストールする
- Redmineの設定を変更し、今回インストールしたgitを利用するようにする
- Redmineを動かしているWebサーバ(今回はApache)を再起動する
詳細な手順は、以下の通りです。
(環境は、CentOS6.4)
cd /usr/local/src sudo wget https://git-core.googlecode.com/files/git-1.8.3.1.tar.gz sudo tar zxvf git-1.8.3.1.tar.gz cd git-1.8.3.1 sudo ./configure --prefix=/usr/local/git1.8.3.1 sudo make sudo make install vi {redmineを格納しているディレクトリ}/config/configuration.yml
scm_git_command: と書かれている行を以下の通り変更
scm_git_command: /usr/local/git1.8.3.1/bin/git
sudo /etc/init.d/httpd restart
以上です。
悩んだこと
そもそも、gitのバージョンが変わってたことに気づかなかったので、ぜんぜん別のところをひたすら調べてました。最後のには、Redmineのソースを追ってたりもしてました...
全然原因がつかめなかった理由の一つに、まったくこの問題に関するログがでなかった(もしくは見つからなかった)ということがあります。ログレベルも変えてみたりしたんですが、何も出ないとやっぱりきついですね。
configuration.ymlを直すとき、「scm_git_command」 と書かれた箇所が複数あります。一つはコメントで、変更例が書かれた箇所。もう一つは、有効な記述であり、かつ設定値が空なものです。これに気づかず、いつものパターンでコメントで書かれているものを行コピーして、修正したにもかかわらず、その下の方に記述された設定のために、指定したgitが利用されなくて、数分固まりました。