プロが教えるわが家の防犯対策術!

現在 Trac + Subversion で管理しているプロジェクトがあるのですが、
コミットする際のエラー制御を付け加えたいです。

内容としては、
コミットするメッセージの中でチケット番号(#_XXXX)が入ってなければ
コミットを受け付けないようにしたいです。

ソースの修正or追加箇所が分かる方いらっしゃいましたら
ご教授ください m(__)m

A 回答 (2件)

 Subversionのリポジトリーにはhooksというディレクトリーがあり、その中にpre-commitという名前で0か1かを返すスクリプト(シェルスクリプトでもperlスクリプトでもphpスクリプトでもrubyスクリプトでもpythonスクリプトでも何でも良いです)を置けばコミットの拒否を行う仕組みを作る事ができます。

Windows上で動作するリポジトリーであればpre-commit.batというWindowsバッチファイルを用意する事になります。Linux等UNIX系OSであれば実行属性をつけてください。

 pre-commitが1を返却するとSubversionはコミットを拒否します。「pre-commit」で検索すれば情報は十分集まると思いますので頑張ってください。
    • good
    • 1

別にソース何とかする必要はないです。



Subversionにはフックスクリプトという手段がありますので、
そちらを適切に設定すればいいだけです。

「Subversion コミット フック」辺りで検索して下さい。
Windowsの場合だとバッチファイルになるかと思います。
# ログメッセージの編集を許可するものなら入れたことはありますが…

今回の場合だと…ちょっと面倒かも知れませんね。
http://d.hatena.ne.jp/language_and_engineering/2 …
では、ログメッセージの入力を強制させる方法としてWSH/JScriptで判定処理をしています。

他の方法としては…TortoiseSVNクライアントの場合でヘルプの
「4.28. バグ追跡システム / 課題追跡システムとの統合」に記述されている方法…でしょうか。
# テストでちょっと使ってみただけなので、どの程度使い物になるかは不明。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!