8

この種のスクリプトを書いた経験のある人がここにいるかどうか、そして彼らが私にいくつかの指針を与えることができるかどうか疑問に思っていました.

このスクリプトを変更して、チェックイン ファイルの EOL 形式にキャリッジ リターンがないことを検証したいと考えています。EOL 形式は、Windows では CR LF、Unix では LF です。ユーザーが Windows 形式のコードをチェックインしたとき。Unix ではコンパイルされなくなりました。これはクライアント側で実行できることはわかっていますが、サーバー側でこの検証を行う必要があります。これを達成するには、次のことを行う必要があります。

1) チェックするファイルがバイナリでないことを確認します。svnlook でこれを行う方法がわかりません。ファイルの mime:type をチェックする必要がありますか? レッドブックはこれを明確に示していないか、私はそれを見ていなかったに違いありません.

2) dos2unixコマンドを実行して、ファイルが正しい EOL 形式であることを確認したいと考えています。dos2unix コマンドの出力を元のファイルと比較します。両者に違いがある場合は、クライアントにエラー メッセージを表示し、チェックインをキャンセルします。

このアプローチに関するコメント/フィードバックをお待ちしております。

4

2 に答える 2

4

svn:eol-styleこの場合、SVNBook で説明されているようにプロパティを使用することで、コミット フック スクリプトを回避できると思います。

このようにして、SVN はあなたの行末を心配することができます。

幸運を!

于 2008-09-08T19:45:24.840 に答える
1

正確に何をしようとしていますか?

もちろん、svn pre-commit フックについて学ぶ場所はたくさんあります (たとえば、ここここ、およびRed Book )。

もっと具体的に言えますか?

于 2008-09-07T16:48:51.653 に答える