Redmine+Mercurial連携でちょっとハマったのでメモ。
2. mercurial_adapter.rb に hg のパスを記述
+++ lib/redmine/scm/adapters/mercurial_adapter.rb @@ -23,7 +23,7 @@ class MercurialAdapter < AbstractAdapter # Mercurial executable name - HG_BIN = "hg" + HG_BIN = "/usr/local/bin/hg"
4. 完成
こんな感じになる。
http://redmine.tsuyabu.in/repositories/show/tohaecall
メモ
「なんかアレのパス通って無いのかな?」みたいな事を思ったら、 log/scm.stderr.log に shell のエラーログが溜まるようになっているので、それを見るといいかも。
俺の場合は、
sh: hg: command not found
とか出てました。
このエラーは、lib/redmine/scm/adapters/abstract_adapter.rb の中の shellout 関数の中から出力されるもので、 development 環境でないと出力されません。
172 def self.shellout(cmd, &block) 173 logger.debug "Shelling out: #{cmd}" if logger && logger.debug? 174 begin # changed mirakui 2009/05/24 175 #if Rails.env == 'development' 176 # Capture stderr when running in dev environment 177 cmd = "#{cmd} 2>>#{RAILS_ROOT}/log/scm.stderr.log" 178 end
productionでもこのエラーを見たかったので、コメントアウトしてしまいました。