核心是用svn:eol-style属性配合auto-props配置实现换行符自动转换:native(按系统默认)、lf(强制unix)、crlf(仅.bat等)、fixed(已废弃);须设于文本文件而非目录,严禁用于二进制文件。

核心是用 svn:eol-style 属性配合自动属性配置,让 SVN 在检出和提交时按系统自动转换换行符,而不是靠人工干预或编辑器设置。
svn:eol-style 的四种取值及适用场景
这个属性必须设在单个文本文件上(不能设在目录),作用是控制换行符行为:
- native:最常用。检出时转成当前操作系统默认换行符(Windows → CRLF,Linux/macOS → LF)
-
LF:强制统一为 Unix 风格(
\n),适合脚本、配置类文件,尤其当服务器是 Linux 且需保证执行一致性时 -
CRLF:强制统一为 Windows 风格(
\r\n),仅用于 .bat、.cmd 等批处理文件 - fixed:已废弃,不建议使用
给已有文件批量设置属性
对已纳入版本控制的文本文件,需手动添加属性并提交:
- 命令行(当前目录下所有 .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):
本文档主要讲述的是Android 操作系统的介绍;Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
- 确保
[miscellany]段中启用:enable-auto-props = yes - 在
[auto-props]段下添加规则,例如:*.py = svn:eol-style=native*.sh = svn:eol-style=LF*.md = svn:eol-style=native*.properties = svn:eol-style=native
注意:只对纯文本文件设置,图像、PDF、ZIP、JAR、EXE 等二进制文件绝不可加此属性,否则会损坏内容。
哪些文件不该设 svn:eol-style
该属性仅适用于人类可读的纯文本文件。以下情况应避免设置:
- 图像(.png、.jpg)、文档(.pdf、.docx)、压缩包(.zip、.jar)等二进制文件 —— 完全不设
- 已编译产物(.class、.o、.exe)—— 不应纳入版本控制
- 含大量 base64 或二进制嵌入块的文本文件(如某些 YAML/JSON 片段)—— 建议不设或单独处理
不复杂但容易忽略










