Files
Nexus/docs/changelog/2026-06-02-windows-ubuntu-encoding-deep-dive.md
T
2026-07-08 22:31:31 +08:00

1.3 KiB
Raw Blame History

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.py
  • server/api/sync_v2.pydetect_text_eol
  • scripts/sync_mysql_mcp_env.py
  • scripts/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 buildindex-DBKIQT7H.js,已 tar+scp 至生产 web/app/
  • 后端:scp text_io.pyinstall.pysync_v2.py、门控脚本;supervisorctl restart nexus
  • /healthok/app/ → 200