2009-07-30 14 views
2

私は現在、新しいSVNインスタンスのフックをいくつか書いています。コミットメッセージが十分であることを検証するためにどのような基準が適用されるべきかについてのフィードバックがほしいと思います。この特定のSVNインスタンスは、SCMのベストプラクティスに関するさまざまな知識を持つ幅広い開発者によって使用されます。有効なSCMメッセージは何ですか?

私は、変更を適切に記述するのに十分な情報を強制すること間のバランスをとっていますが、冗長ではなく、完全に有効なメッセージを持つ人には難しいものにはなりません。私が拒否しようとしているのは、「更新された」または「追加されたファイル」のようなメッセージなので、単語数とメッセージ長の制限が当然の選択です。

変更を正しく記述していないメッセージを拒否するために使用する他の基準は何ですか?あなたが満足できるメッセージをどのように受け入れるかということに焦点を当ててください。私は教育の社会的必要性を痛感しており、これは並行して起こっています。

ところで、この特定のケースでは、作業項目やバグへの参照を心配する必要はありません。

+1

ええ、「適用」、「デル」、「dll」、「変更」、コメントの中の「変更なし」のようなコメントが表示されます。 –

答えて

5

厳しい要件としての特定の基準は絶対に役に立たないと私は正直考えています。レビュー/コメント(文字通り、このサイトでさえ)に最低限の文字数を必要とするウェブサイトを見たことがあれば、その効果はあなたが望むものではないことをすぐに理解できます。人々はレビューやコメントが長期間続くことを保証するのではなく、既知のハードコーディングされた最小値をヒットするように、より多くのフィラーを見つけるだけです。

最終的には、問題は技術的な問題ではなく社会的な問題として処理する必要があります。不適切な情報価値のないコメントの各インスタンスは、それを行う人の注意を引いて説明する必要があります。

これでも問題は100%解決されませんが、私が見つけた作業に最も近いアプローチです。

誰もが約40文字未満で一貫して良いCVSのコメントを書くことができるなら、私は本当に驚くだろう。 :)

+0

非常にうまく言いました。原因ではなく症状の治療という点で正確な議論。 IMHO、それは教育と執行の両方の組み合わせである必要があります。環境の制約は現時点での教育能力を制限しているので、強制的に「オープン・スラッダ」アプローチをとるよりも意識を高めることが望ましいということです。 –

2

これはおそらくあなたを得ることはありません。あなたが "更新"を拒否すれば、人々は自分のコミットを得るようなものを作るだけです。 "saldkj dot quuxに新しいfizzleglorbを追加しました。社会問題に対する技術的解決策は機能しません。

また、Gitのようなツールを使って、関連するコミットをまとめることができます。あなたがハッキングの途中にいるときは、詳細なメッセージを書いてはいけません。しかし、あなたの仕事を見直してそれを論理的な塊に圧縮するとき、それはあなたがしていることに関する文書を追加したいときです。

3

他の回答に同意します。協力したくない人々は、常にあなたのルールを回避する方法を見つけるでしょう。

しかし、私がいつもやることは以下の通りです:

コメントが提供されていることを確認するために(すなわち、メッセージが空でないコミット)、ちょうどそれが人々(防ぐために、事前にコミットフックを設定
  • 自分自身を含む)は、 '間違いなく' 1つを提供することを忘れる。コミットメッセージの内容に関するチェックを気にする必要はありません。それは時間の無駄です。
  • は編集がその後のメッセージをコミットできるようにする場所にpre-revprop-changeフックを置く(これはデフォルトでは許可されていません)
3

私はこの時点で検証を100%有効ではないことを他の回答に同意します。しかし、いくつかの妥当性確認をすることで、部分的な遵守が達成される。

そこで私は次のことをお勧め:

  • は、文字の要件の最小数を持っています。収集された調査に基づいて適切な数を決定する。
  • 許容されないキーフレーズをいくつかリストします。 「更新」のように受け入れられても受け入れられない言葉も含まないように注意してください。
  • は、SVNコミットポリシーをカスケードするときのルールを強調します。
    非常に優れたメディアの方向を決定します。

ルールは、違反しているユーザーの発生を最小限に抑えますが、完全に排除しないと考えています。

これが役に立ちます。

2

私は少なくとも15文字(空白を除く)が必要であることが合理的にうまく動作することを発見しました。もっと精巧な小切手でそれをやり過ごしてはいけません。 コミットメーリングリストを設定することも役に立ちます。それは良い例を宣伝し、社会的コントロールを追加します。

コミットメッセージ内の有用な情報を最小限に抑えるために、それを挑戦者とする開発者は常にいくつかあります。しかし、プレコミットフックがインストールされていた(空の90%前と後の)SVNログを見ると、状況は改善していると私は結論づけています。

+0

コミットメーリングリストについて:それは良いアイデアです...人々がそれを悪用してコミットメッセージで書き込むのでなければ、メーリングリストに送るコーヒーの14:35で会いましょう:-( –

+0

ああ、名前と恥のアプローチ! –