我正在检查具有Linux风格行结尾(只有LF字符)的文件。当我在Windows中使用TortoiseSVN签出一个文件时,它会将行尾转换为Windows样式(CR+LF)。我试着在subversion配置文件中添加行,以强制它使用LF,是的,我确实设置了enable auto-props=yes。这不起作用,即使起作用了,也不是我想要的,因为我宁愿TSVN不接触文件。按原样复制即可。
svn:eol-style
属性。此属性可以有三个值:
LF
:在签出和提交时自动将行尾设置为Unix行尾CRLF
:在签出和提交时自动将行尾设置为Windows行尾native
:这将在提交到Unix行结尾(LF
)时存储行结尾,但将根据客户端使用LF
或CRLF
签出行结尾
您可以在$HOME/.subversion/config文件中设置auto-props
设置,以便将此属性自动附加到所有新文件。然而,这是每个用户必须在其Subversion客户端中设置的内容。为了强制设置此属性,您可以使用我的预提交挂钩,如果您指定的文件没有将您指定的属性设置为正确的值,该挂钩将拒绝提交。
这是一个粗暴的打击,因为它不会纠正问题,但在一两次提交失败后,开发人员会迅速设置他们的自动道具,自动添加所需的属性。
对于Windows上的TortoiseSVN,请在您的用户名/AppData(一个隐藏文件夹)下找到配置文件。例如
%appdata%\漫游\颠覆\配置
添加这些行(可能已经存在,但已注释完毕),然后注销/in:
enable-auto-props = yes
# Add these for each text file type that you use:
*.txt = svn:eol-style=native
*.cs = svn:eol-style=native
*.xml = svn:eol-style=native
(示例是使用XML的C#;替换为您使用的任何文本文件。)
您应该设置svn:eol style属性。
http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-propertypage.html
http://svnbook.red-bean.com/en/1.7/svn.advanced.props.file-portability.html#svn.advanced.props.special.eol-样式
自动道具配置设置仅适用于新文件,不适用于现有文件。对于那些必须为每个文件设置svn:eol-style
属性的文件。
从Tortoise SVN 1.12.0版本,Build 285682019/04/16开始,您可以将As-IS EOL属性分配给整个文件夹。
选择工作区:右键单击:TortoiseSVN->:属性
选择新:EOL
选择原样(无特定EOL)