• 締切済み

Subversionのコミット制御を付け加える方法

現在 Trac + Subversion で管理しているプロジェクトがあるのですが、 コミットする際のエラー制御を付け加えたいです。 内容としては、 コミットするメッセージの中でチケット番号(#_XXXX)が入ってなければ コミットを受け付けないようにしたいです。 ソースの修正or追加箇所が分かる方いらっしゃいましたら ご教授ください m(__)m

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.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」で検索すれば情報は十分集まると思いますので頑張ってください。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

別にソース何とかする必要はないです。 Subversionにはフックスクリプトという手段がありますので、 そちらを適切に設定すればいいだけです。 「Subversion コミット フック」辺りで検索して下さい。 Windowsの場合だとバッチファイルになるかと思います。 # ログメッセージの編集を許可するものなら入れたことはありますが… 今回の場合だと…ちょっと面倒かも知れませんね。 http://d.hatena.ne.jp/language_and_engineering/20100819/p1 では、ログメッセージの入力を強制させる方法としてWSH/JScriptで判定処理をしています。 他の方法としては…TortoiseSVNクライアントの場合でヘルプの 「4.28. バグ追跡システム / 課題追跡システムとの統合」に記述されている方法…でしょうか。 # テストでちょっと使ってみただけなので、どの程度使い物になるかは不明。

関連するQ&A