svn:eol-style属性用于自动转换换行符,支持native(按系统默认)、LF(强制Unix)、CRLF(强制Windows)、fixed(已废弃)四种值,需设在文本文件上并配合auto-props配置实现跨平台一致性。

核心是用 svn:eol-style 属性,配合自动属性配置,让 SVN 在检出和提交时自动转换换行符,而不是靠人工或编辑器干预。
关键属性:svn:eol-style 的四种取值
这个属性必须设置在文件上(不是目录),作用是告诉 SVN 如何处理换行符:
- native:最常用。检出时自动转成当前系统默认换行符(Windows → CRLF,Linux/macOS → LF)
-
LF:强制统一为 Unix 风格(
\n),适合纯脚本、配置类文件 -
CRLF:强制统一为 Windows 风格(
\r\n),极少用,一般只用于 .bat 或特定批处理 - fixed:已废弃,不建议使用
一次性给已有文件批量设属性
对已纳入版本控制的文本文件,需手动添加属性再提交:
《SVN视频教程》,SVN:全称Subversion,是代码版本管理软件,管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。许多人会把版本控制系統想像成某种“时光机器”。
- 命令行(当前目录下所有 .py/.js/.json 文件):
svn propset svn:eol-style=native *.py *.js *.json - 递归设置整个目录(谨慎操作,避免误设二进制文件):
svn propset svn:eol-style=native --recursive . - TortoiseSVN:选中多个文本文件 → 右键 → Properties → New → 属性名填
svn:eol-style,值填native→ 确定 → 提交
让新文件自动带属性:配置 auto-props
修改全局 SVN 配置文件(Windows 路径:%APPDATA%\Roaming\Subversion\config;macOS/Linux:~/.subversion/config),启用并配置自动属性:
- 找到
[miscellany]段,确保这一行已取消注释且为:enable-auto-props = yes - 在
[auto-props]段下添加常用文本类型(支持通配符):*.py = svn:eol-style=native*.js = svn:eol-style=native*.json = svn:eol-style=native*.md = svn:eol-style=native*.sh = svn:eol-style=native*.xml = svn:eol-style=native*.properties = svn:eol-style=native - 注意:不要给图片、压缩包、可执行文件等二进制类型加该属性,否则会损坏文件
哪些文件不该设 svn:eol-style
该属性只适用于纯文本文件。设错会导致内容损坏:
- 图像(
.png,.jpg)、文档(.pdf,.docx)、压缩包(.zip,.jar)等二进制文件 —— 完全不设 - 已编译产物(
.class,.o,.exe)—— 不纳入版本控制更稳妥 - 如果某文本文件内容含二进制片段(如 base64 编码块),也建议不设或改用
LF避免歧义










