
How can I convert all line endings to CRLF, LF, or CR during SVN operations因此,您都准备好进行大型SVN提交,并且它会爆炸,因为某些文件中的行尾不一致。 有趣的是,您正在查看1000个文件,这些文件跨越了数十个不同深度的文件夹。 你是做什么? 我认为预提交挂钩实际上不能更改正在提交的数据-它可以禁止提交,但是我认为它不能为您完成转换。 听起来好像您希望将'svn:eol-style'属性设置为'native'一样-这将自动将换行符转换为平台上使用的任何内容(使用'CRLF','CR'或'LF'来获取这些内容,无论操作系统需要什么)。 您可以使用自动属性,以便将来创建的所有文件都具有此属性集(自动道具是在客户端处理的,因此您必须为每个用户进行设置)。 首先是清理一切。您在Windows还是Unix / Linux / Mac上? 如果您使用的是Unix / Linux / Mac,则可以尝试以下操作:
那是如果您的包装上有 使用它时要小心,因为您不想破坏二进制文件。
清理完所有内容后,应在文件上放置 完成此操作后,您将获得一个预先提交的挂钩,该挂钩将使您可以在特定文件上强制使用行尾。然后,教您的开发人员使用自动属性。除非将属性放置在文件上,否则预提交钩子将阻止任何提交。开发人员将其提交拒绝一次或两次,然后他们将自行设置自动属性。 您可以考虑使用类似Linux的dos2unix的命令进行转换。作为Linux命令,很容易在批处理模式下将其与脚本等一起使用。我不知道其他操作系统是否具有等效功能。 添加一个预提交钩子,该钩子在将文件内容写入SVN之前会解析文件内容并为您执行CRLF / LF / CR / etc的修改。 |