Subversionのフックスクリプトのエラーメッセージが表示されずに悩む
Subversionのpost-commitフックスクリプトを使ってリポジトリへcommitした際のログメッセージをmantisへ登録させようとhttp://www.alles.or.jp/~sogabe/mantis/article/article1.htmlを参考にしてpost-commitフックスクリプトをつくって実行してみるものの
送信しています commitしたファイル名
ファイルのデータを送信中です.
リビジョン 201 をコミットしました。警告: ‘post-commit’ フックが次のようなエラーを出力して失敗しました:
となりmantisへコミットした際のログメッセージが書き込まれていない。エラーでて失敗したとは言われるけど、エラーメッセージには何も表示されていないので失敗する理由が判らない。フックスクリプトに記載したコマンドを直接実行する限りでは成功する。
失敗する理由を突き止めない事には先へ進めないので--verboseオプションを追加してみると
送信しています commitしたファイル名
ファイルのデータを送信中です.
リビジョン 201 をコミットしました。
警告: 'post-commit' フックが次のようなエラーを出力して失敗しました:
: invalid option
Usage: /bin/sh [GNU long option] [option] ...
/bin/sh [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
--dump-strings
--help
--init-file
--login
--noediting
--noprofile
--norc
--posix
--protected
--rcfile
--rpm-requires
--restricted
--verbose
--version
--wordexp
Shell options:
-irsD or -c command or -O shopt_option (invocation only)
-abefhkmnptuvxBCHP or -o option
となり、スクリプトが実行できていない。なんで--verboseオプションを付けるとオプションが違うと言われてしまうのか・・・。見直してみてもスペルミスはしていない。念のため、エラーメッセージの--verboseをコピペしてみるものの、状況は変わらず。
もう、行き詰まりです。
そういえば、shell-scriptの開発をしていて改行コードがCRLFだった為に前にこんな事もあったなと思い出して、vimエディタでset fileformatを実行してみると、DOSって言われた。ora。
set fileforamt=unixをして保存後に試してみると成功!。やったぜカトチャン。
というわけで、vimの便利設定で改行コードに気づきませんでした。というオチです。
