2013年10月19日土曜日

RedmineとSVNの連携に失敗する問題の解決

先日、RedmineとSubversionを連携させるようにした。
しかし、WebサーバPCを起動した直後は、RedmineからSVNのリポジトリが見えない現象が発生した。
手動でapacheを再起動するとリポジトリが見えるようになる。
とても不便なので原因を調査した。

まずはapacheのログを確認。
% less /var/log/httpd-error.log
[App 920 stderr] svn: not found
[App 920 stderr] svn: not found
[App 920 stderr] Error parsing svn output: undefined method `[]' for nil:NilClass
気になるログを発見。
コマンドが認識されていない様子。

ためしに、redmineのsvnコマンドの設定をフルパスに変えてみる。
# vi /usr/local/www/redmine/config/configuration.yml
scm_subversion_command:   /usr/local/bin/svn                        # (default: svn)
しかし現象は変わらず。

ここで、あることに気づく。
<設定ファイルの内容>
  # Examples:
  scm_subversion_command:   /usr/local/bin/svn                        # (default: svn)
  # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
  # scm_git_command:        /usr/local/bin/git                        # (default: git)
  # scm_cvs_command:        cvs                                       # (default: cvs)
  # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
  # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
  #
  scm_subversion_command:
  scm_mercurial_command:
  scm_git_command:
  scm_cvs_command:
  scm_bazaar_command:
  scm_darcs_command:
最初の設定時にExamplesをコメントアウトして編集したのがそもそもの間違い。
だめだめじゃないですか。。
気を取り直て再編集。
  # scm_subversion_command: svn                                       # (default: svn)
  # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
  # scm_git_command:        /usr/local/bin/git                        # (default: git)
  # scm_cvs_command:        cvs                                       # (default: cvs)
  # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
  # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
  #
  scm_subversion_command:   svn
  scm_mercurial_command:
  scm_git_command:
  scm_cvs_command:
  scm_bazaar_command:
  scm_darcs_command:
これで解決。。。かと思いきや現象は変わらず。
ログに同じエラーが出力される。
フルパス指定で再チャレンジ。
  scm_subversion_command:   /usr/local/bin/svn
今度はOK。

設定ファイル修正前に、apacheを再起動するとうまくいっていたのはなぜだろう。
謎は残ったがとりあえずよしとする。

0 件のコメント:

コメントを投稿