チェックインされたファイルを検証するために dos2unix を呼び出すプリコミット フック スクリプトを SVN に実装するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/48562

  •  09-06-2019
  •  | 
  •  

質問

このタイプのスクリプトを書いた経験のある人がいるかどうか、アドバイスをもらえるかどうかを考えていました。

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

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

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

このアプローチについてのコメント/フィードバックをお願いします。

役に立ちましたか?

解決

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

このようにして、SVN は行末を自動的に考慮することができます。

幸運を!

他のヒント

いったい何をしようとしているのでしょうか?

もちろん、svn のコミット前フックについて学ぶための場所は数多くあります (例: ここ , ここ, 、そして、 赤い本)しかし、それは何をしようとしているのか、そしてあなたのシステムで何が利用できるのかによって異なります。

もっと具体的に教えてもらえますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top