如何在SVN中实现预提交钩子脚本,调用dos2unix来验证签入文件

Jul*_*ali 8 python svn dos2unix

我想知道这里是否有人有写这种脚本的经验,如果他们能给我一些指示.

我想修改此脚本以验证签入文件在EOL格式中没有回车符.EOL格式是Windows中的CR LF和Unix中的LF.当用户使用Windows格式签入代码时.它不再在Unix中编译.我知道这可以在客户端完成,但我需要在服务器端完成此验证.为此,我需要做以下事情:

1)确保我检查的文件不是二进制文件,我不知道如何用svnlook执行此操作,我应该检查mime:文件的类型吗?该红皮书没有清楚说明这还是我绝没见过它.

2)我想运行dos2unix命令来验证文件是否具有正确的EOL格式.我会将dos2unix命令的输出与原始文件进行比较.如果两者之间存在差异,我会向客户端发送错误消息并取消签入.

我希望您就此方法提出意见/反馈.

Ste*_*son 4

svn:eol-style我认为在这种情况下您可以通过使用SVNBook 中描述的属性来避免提交挂钩脚本:

这样 SVN 就可以为您担心行结尾。

祝你好运!