title.png

^<< 2009.07/1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>$

Trackback の仕組みはありませんので、コメントにでも残していただくと嬉しいかも、です。

(2009.07.25)

Subversionにコミットしようとしている XML が well-formed かどうかをチェックする

表題の通りなのですが、Subversionリポジトリにコミットしようとしている XML ファイルが well-formed か否かをチェックして、NGな場合はコミットを refuse するような pre-commit Hook のスクリプトを書いてみました。 well-formedじゃないXMLをコミットして、アプリの動作が悲しいことになる事故が結構発生するので・・・(^^;

GitHub に入れてみました。

まぁ、かなり俺仕様です。

  • ruby script です
    • ふつう、入れているよね?
  • リポジトリは Windows で運用している前提で
    • XMLのチェックに MSXML を使っているので
    • MSXMLのオブジェクトにloadさせて成功するかどうかをみているだけですけど
    • なんで標準でどの環境でも利用できるはずの REXML を使ってないかというと、実際のアプリでは MSXML を使うからで、コミットのチェックもアプリと同じもので行うべきと考えたからです
  • チェック対象とするかどうかは拡張子で判断
    • もしファイル名末尾がxmlのもの以外もみたい場合は 38行目の正規表現を変更してください

Gitを使ってみたかったので勢いでGitHubにプロジェクトまで作ってしまいましたが、 これくらいのたかだか50行のコードなら Gist で十分な気もする、、、、のは気にしない方向で:-p

ツッコミ