t100のプログラミング脱出作戦

自分のプログラミング脳をプログラムにして、いつかプログラミングから脱出してやるぞっ!とか夢見ながら、日々プログラム作っていく 百野 貴博 の日記です!今は、屋号『百蔵。』として、Silverlight・WPFを追跡中です! (2007/09/30)
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 | トラックバック(-) | コメント(-) top↑
さくらインターネットのRedMineでMercurial連携
先日から、さくらインターネット上でRedMine+Mercurial の環境構築に四苦八苦しております。

が、今日、やっとこリポジトリのブラウズに成功したので、そのポイントをメモして置きたいと思います。

前回以降で、はまったのは2点でした。
1. RedmineでMercurialの設定をしたのに、リポジトリが見れない。
  画面に、「リポジトリに、エントリ/リビジョンが存在しません」 と表示されて、リポジトリの内容を読んでくれないです。

2.上記エラーが直ってから一覧を出したら、「undefined method `length' for #or:0x9b3d7c0>」 というエラーが。


それぞれの対応方法は以下の通りです。
1. RedmineでMercurialの設定をしたのに、リポジトリが見れない。
  画面に、「リポジトリに、エントリ/リビジョンが存在しません」 と表示されて、リポジトリの内容を読んでくれない。

結論から言うと、これはRedmineからMercurialのhg コマンドを正しく実行できていなかった為に発生していました。
この問題は、config/environment.rb ファイルに、以下の一行を書くことで解決しました。

ENV['PYTHONPATH'] ||= '/home/t100/lib/python'


このことは、こちらのサイトで解説されていたもので、おかげで助かりました。。。
さくらのレンタルサーバにRedmineをインストール
ありがとうございます・・・。


redmine は、log フォルダ以下に、ログを出しています。
なので、エラー箇所特定の為に、独自のログを埋め込むことも可能です。

今回、私の場合は、Mercurialの連携箇所を調査したかったので、lib/redmine/scm/adapters/以下の
abstract_adapter.rb
mercurial_adapter.rb
ファイル内に、ログを埋め込んで調査しました。

ログの出力は、

logger.info "log message !"



と書くことで出力できました。

最終的に、エラーを特定するには至らなかったのですが
hg コマンドの戻り値がエラーになっていることまでは、確認できていたので、「環境設定まわりで、ミスをしているのでは?」と、あたりを付けるのに役立ったと思います。


2.上記エラーが直ってから一覧を出したら、「undefined method `length' for #or:0x9b3d7c0>」 というエラーが。

これは分からなかった、、、
こちらで解説されていることが原因のようです。

Rails2.0.2 + Ruby1.8.7でString#charsのエラー

Rubyのバージョンが上がって、Rails で定義していたメソッドが被っちゃって動きがおかしくなると、、、
そんなことが、、、

この解決方法も、上記サイトにあった通り真似させて頂きました。

config/environments.rbのRAILSのバージョンチェックの下に、下記を追加。

if RAILS_GEM_VERSION == '2.0.2' && RUBY_VERSION >= '1.8.7'
 class String
  remove_method :chars
 end
end



私の場合は、以下のようになりました。(抜粋)

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION

if RAILS_GEM_VERSION == '2.0.2' && RUBY_VERSION >= '1.8.7'
 class String
  remove_method :chars
 end
end



こっちは、自分で調べてたら絶対解決できなかったですね、、、


ここまでの作業で、ようやくRedmine から、Mercurial のリポジトリ参照に成功することが出来ました!
皆さん、ありがとうございます!

これから、実際に使いながら使い方にも触れていければと思っています。


しかし、ねむ、、、

まーくん(レンタルサーバー研究者)
こんにちわ。まーくんです。

サクラインターネットの環境構築
難しそうですね。
私にはよく理解できないです。
少しでも理解できてるだけ偉いなと思いました。
また来ます
2009/03/31(火) 11:39:37 | URL | [ 編集]












管理者にだけ表示を許可する


トラックバックURL:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。