2009-07-14 4 views
1

私は現在、プリコミットフックを使ってコメントを含まないSVNへのコミットをブロックしています。SVNコミットコメントにレビュー担当者名を入力するにはどうすればよいですか

現在事前コミットフックファイルが

:: SET REPOS=%1 

:: Transform forward-slashes to back-slashes for Windows 
:: SET REPOS=%REPOS:/=^\% 

"C:\Program Files\VisualSVN Server\bin\svnlook.exe" log -t %2 %1 | FindStr [a-zA-Z0-9] 
IF %ERRORLEVEL% EQU 0 GOTO CHECKSUOFILES 
echo "Commit Comments are Required" >&2 
exit 1 

次のようになります。

は今、私はコメントをコミットするように、これを拡張したい「がによるレビュー」ライン

を持っている必要があります誰も似たようなものを実装しています私は現在、

答えて

1

SVN 1.6.0を使用しています

私は自分の質問に答えるために、かなり原始的なルートを取りました。私は事前にフックが「によるレビュー:」テキストを探すためにコミット変更に問題があります

をコミットするか、そうでなければブロックします。この

  • あなただけによるレビューを入力して、それを回避することができますし、我々は、開発者を求めている
  • がによるレビュー入力するには、次にません名前:非見直しのための誰が

が、それは私たちが持っているものを見るためにSVNのログを解析することができますしかしコミット/レビューを受けていません誰によって。

5

これは私には悪い習慣のようです。何かを見直さなければ、頻繁にチェックインすることを禁止します。これはあなたが奨励したいことの一つです。一般に、私は、バージョン管理ソフトウェアをワークフロー管理システムの一種として使用するという明らかな傾向に少し驚いています。それはまったく意図したものではありません!

0

基本的には既に基本的な例があります。

set reviewed=no 
"C:\Program Files\VisualSVN Server\bin\svnlook.exe" log -t %2 %1 | FindStr "reviewed by" && set reviewed=yes 
if "%reviewed%"=="no" GOTO NOTREVIEWED 

ただし、次のようなものを追加してください。

変更の確認は、変更がすでにコミットされている場合に最も簡単です。また、Neilがすでに述べたように、あなたは通常の一口サイズのコミットを止めたくありません。変化の大きな塊を見直すことはうまくいかない。

すべての変更を確認するには、feature branchesという概念を使用する必要があります。それぞれの変更に対してブランチを作成し、レビューを行わずに頻繁に小さなコミットを許可します。変更が完了すると、レビューアはコミットによってそれを調べ、変更をトランクにマージすることができます。

0

SVNの代わりにGit(http://git-scm.com/)のようなものを使用して調べるとよいでしょう。 Gitを使うと、あなたの批評家だけが書くことができる "祝福された"バージョンのプロジェクトを作ることができます。個人はすべて自分のローカルマシン上でコードを操作し、変更をプロジェクトの「レビュー」インスタンスにプッシュできます。レビュー担当者は、「レビュー」インスタンスの変更を確認し、個々の変更を「祝福」バージョンにプッシュできます。

Gitでは、既存のSVNプロジェクトを直接変換することもできます。

+0

これは本当にgitに切り替えるための引数ではありません。また、SVNのブランチを "祝福"することもできます。 –

関連する問題