1.3 KiB
1.3 KiB
2026-06-02 Windows/Ubuntu 编码换行深挖
日期
2026-06-02
变更摘要
第二轮 CRLF/UTF-8 深挖:新增 text_io 工具层、Git 索引 EOL 门控、安装向导与 MCP 脚本写文件统一 LF+UTF-8。
动机
工作区在 Windows 上可能显示 CRLF,但 Ubuntu 部署以 Git 索引为准;需在运行时杜绝 BOM/CRLF 写入 .env 与 shell 脚本,并防止 sync_mysql_mcp_env 把 CRLF 写回 .env。
涉及文件
server/utils/text_io.py(新)server/api/install.pyserver/api/sync_v2.py(detect_text_eol)scripts/sync_mysql_mcp_env.pyscripts/check_text_eol.py(新)deploy/pre_deploy_check.sh.gitattributes、.editorconfig(新)tests/test_text_io.py(新)docs/audit/2026-06-02-windows-ubuntu-encoding-deep-dive.md
迁移 / 重启
无 DB 迁移。后端改 install.py 仅影响安装向导写盘;已部署实例无需重启除非正在跑安装流程。
验证方式
python scripts/check_text_eol.py
bash deploy/check_shell_eol.sh
pytest tests/test_text_io.py -q
部署记录(2026-06-02)
- 前端:
vite build→index-DBKIQT7H.js,已 tar+scp 至生产web/app/ - 后端:scp
text_io.py、install.py、sync_v2.py、门控脚本;supervisorctl restart nexus /health→ok,/app/→ 200