2011-06-30 6 views
0

RubyコードをGitのpost-commitフックに書き込むCコードがあります。これは現在オフに引っ張られている方法は、次に、それを/フック/ fprintfのを介して、コミット後の.gitに直接書かれているので...Cコード内のgitのポスト・コミット・フックにRubyコードをきれいに含めるにはどうしたらいいですか?

char * post_commit_hook = <<Ruby code here>> 

のようにC文字列に直接Rubyコードを埋め込むことです。

これは多少醜いですが、IMOを維持するのは難しく、Rubyコードを独自のファイルに移動する方法があるかどうかは疑問でした。私は、その場でテキスト置換を行うためにGNU makeをする方法を探してみましたが、何とかそれはまだハックのように感じます。誰でもアイデアはありますか?

答えて

0

独自のファイルにコードを入れて、makeと任意のスクリプト言語を使用してCヘッダーを生成します。例えば

、あなたのコードを含むマクロPOST_COMMIT_HOOKを定義するファイルhook.hが生成され、このPerlスクリプトrb2h

#!perl -w 
print "#define $ARGV[0] \\\n"; 
chomp, s/\\/\\\\/g, s/"/\\"/g, print "\t\"$_\" \\\n" for <STDIN>; 
print "\t\"\"\n" 

と共に以下makeルール

hook.h : hook.rb 
    ./rb2h POST_COMMIT_HOOK < $< > [email protected] 

+0

これは大変助かりました。ありがとう! – teeray

関連する問題